You are here

function openlayers_widget_geocode in Geofield 7.2

Return the altered form element from an AJAX request.

See also

openlayers_field_widget_form()

1 string reference to 'openlayers_widget_geocode'
openlayers_field_widget_form in ./geofield.widgets.openlayers.inc
Implements hook_field_widget_form().

File

./geofield.widgets.openlayers.inc, line 343
Provides widget hooks on behalf of Openlayers.

Code

function openlayers_widget_geocode($form, $form_state) {
  $button = $form_state['triggering_element'];

  // Go one level up in the form, to the widgets container.
  $element = drupal_array_get_nested_value($form, array_slice($button['#array_parents'], 0, -1));
  $field_name = $element['#field_name'];
  $langcode = $element['#language'];
  $delta = $element['#delta'];
  $parents = $element['#field_parents'];
  $value = drupal_array_get_nested_value($form_state, array_merge(array(
    'values',
  ), $parents, array(
    $field_name,
  )));
  $element['geom']['#value'] = $value[$langcode][$delta]['geom'];

  // Return the map, but remove the '_weight' element inserted
  // by the field API.
  unset($element['_weight']);
  return $element;
}