public function LocationInputManager::getCoordinates in Geolocation Field 8.2
Same name and namespace in other branches
- 8.3 src/LocationInputManager.php \Drupal\geolocation\LocationInputManager::getCoordinates()
Get coordinates.
Parameters
array $form_values: Form values.
array $settings: Option settings.
mixed $context: Context.
Return value
array Centre value.
File
- src/
LocationInputManager.php, line 176
Class
- LocationInputManager
- Search plugin manager.
Namespace
Drupal\geolocationCode
public function getCoordinates(array $form_values, array $settings, $context = NULL) {
$coordinates = [];
foreach ($settings as $option_id => $option) {
// Ignore if not enabled.
if (empty($option['enable'])) {
continue;
}
if (!$this
->hasDefinition($option['location_input_id'])) {
continue;
}
/** @var \Drupal\geolocation\LocationInputInterface $location_input_plugin */
$location_input_plugin = $this
->createInstance($option['location_input_id']);
if (empty($option['settings'])) {
$option['settings'] = [];
}
$plugin_coordinates = $location_input_plugin
->getCoordinates($form_values, $option_id, $location_input_plugin
->getSettings($option['settings']), $context);
if (!empty($plugin_coordinates)) {
// Break on first found coordinates.
return $plugin_coordinates;
}
}
return $coordinates;
}