/** * {@inheritdoc}. */ public function query() { $this->ensureMyTable(); $lat_alias = $this->tableAlias . '.' . $this->definition['field_name'] . '_lat'; $lon_alias = $this->tableAlias . '.' . $this->definition['field_name'] . '_lon'; $proximityPlugin = geofield_proximity_load_plugin($this->options['source']); $options = $proximityPlugin->getSourceValue($this); if ($options != FALSE) { $haversine_options = array('origin_latitude' => $options['latitude'], 'origin_longitude' => $options['longitude'], 'destination_latitude' => $lat_alias, 'destination_longitude' => $lon_alias, 'earth_radius' => $this->options['radius_of_earth']); $this->field_alias = $this->query->add_field(NULL, geofield_haversine($haversine_options), $this->tableAlias . '_' . $this->field); } }
protected function valueValidate($form, &$form_state) { parent::valueValidate($form, $form_state); $proximityPlugin = geofield_proximity_load_plugin($form_state['values']['options']['source']); $proximityPlugin->value_validate($form, $form_state, $this); }
function validateOptionsForm(&$form, FormStateInterface $form_state) { $proximityPlugin = geofield_proximity_load_plugin($form_state['values']['options']['source']); $proximityPlugin->options_validate($form, $form_state, $this); }