function buildOptionsForm(&$form, \Drupal\Core\Form\FormStateInterface $form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     $form['source'] = array('#type' => 'select', '#title' => t('Source of Origin Point'), '#description' => t('How do you want to enter your origin point?'), '#options' => array(), '#default_value' => $this->options['source']);
     $proximityHandlers = geofield_proximity_views_handlers();
     foreach ($proximityHandlers as $key => $handler) {
         $form['source']['#options'][$key] = $handler['name'];
         $proximityPlugin = geofield_proximity_load_plugin($key);
         $proximityPlugin->options_form($form, $form_state, $this);
     }
 }
 /**
  * {@inheritdoc}.
  */
 public function buildOptionsForm(&$form, &$form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     $form['source'] = array('#type' => 'select', '#title' => t('Source of Origin Point'), '#description' => t('How do you want to enter your origin point?'), '#options' => array(), '#default_value' => $this->options['source']);
     $proximityHandlers = geofield_proximity_views_handlers();
     foreach ($proximityHandlers as $key => $handler) {
         $form['source']['#options'][$key] = $handler['name'];
         $proximityPlugin = geofield_proximity_load_plugin($key);
         $proximityPlugin->options_form($form, $form_state, $this);
     }
     $form['radius_of_earth'] = array('#type' => 'select', '#title' => t('Unit of Measure'), '#description' => '', '#options' => geofield_radius_options(), '#default_value' => $this->options['radius_of_earth']);
 }
 public function buildOptionsForm(&$form, &$form_state)
 {
     parent::buildOptionsForm($form, $form_state);
     $form['source'] = array('#type' => 'select', '#title' => t('Source of Origin Point'), '#description' => t('How do you want to enter your origin point?'), '#options' => array(), '#attached' => array('js' => array(drupal_get_path('module', 'geofield') . '/js/viewsProximityValue.js')), '#default_value' => $this->options['source']);
     $form['source_change'] = array('#type' => 'submit', '#value' => 'Change Source Widget', '#submit' => array('geofield_views_ui_change_proximity_widget'));
     $proximityHandlers = geofield_proximity_views_handlers();
     foreach ($proximityHandlers as $key => $handler) {
         // Manually skip 'Exposed Filter', since it wouldn't make any sense in this context.
         if ($key != 'exposed_geofield_filter') {
             $form['source']['#options'][$key] = $handler['name'];
             $proximityPlugin = geofield_proximity_load_plugin($key);
             $proximityPlugin->options_form($form, $form_state, $this);
         }
     }
     // Look for any top-level item with a #proximity_plugin_value_element set. If found, it doesn't
     // belong in this particular field.
     foreach ($form as $key => $form_item) {
         if (isset($form_item['#proximity_plugin_value_element']) && $form_item['#proximity_plugin_value_element'] == TRUE) {
             unset($form[$key]);
         }
     }
 }