You are here

public function GeocoderService::getJsGeocoderSettings in Geofield Map 8.2

Get Filtered Js Map Geocoder Settings.

Parameters

array $map_geocoder_settings: The raw map_geocoder_settings.

Return value

array The Filtered map_geocoder_settings ready for Js injection.

File

src/Services/GeocoderService.php, line 21

Class

GeocoderService
Class GeocoderService.

Namespace

Drupal\geofield_map\Services

Code

public function getJsGeocoderSettings(array $map_geocoder_settings) {

  // Set the $map_geocoder_settings['providers'] as the enabled providers.
  $enabled_providers = [];
  foreach ($map_geocoder_settings['providers'] as $plugin_id => $plugin) {
    if (!empty($plugin['checked'])) {
      $enabled_providers[] = $plugin_id;
    }
  }
  $map_geocoder_settings['providers'] = $enabled_providers;
  $map_geocoder_settings['options'] = [
    'options' => Json::decode($map_geocoder_settings['options']) ?? '',
  ];
  return $map_geocoder_settings;
}