public function MapProviderBase::getSettings in Geolocation Field 8.3
Same name and namespace in other branches
- 8.2 src/MapProviderBase.php \Drupal\geolocation\MapProviderBase::getSettings()
Provide map provider specific settings ready to handover to JS.
Parameters
array $settings: Current general map settings. Might contain unrelated settings as well.
Return value
array An array only containing keys defined in this plugin.
Overrides MapProviderInterface::getSettings
5 calls to MapProviderBase::getSettings()
- Baidu::getSettings in modules/
geolocation_baidu/ src/ Plugin/ geolocation/ MapProvider/ Baidu.php - Provide map provider specific settings ready to handover to JS.
- GoogleMapsProviderBase::getSettings in modules/
geolocation_google_maps/ src/ GoogleMapsProviderBase.php - Provide map provider specific settings ready to handover to JS.
- Here::getSettings in modules/
geolocation_here/ src/ Plugin/ geolocation/ MapProvider/ Here.php - Provide map provider specific settings ready to handover to JS.
- Leaflet::getSettings in modules/
geolocation_leaflet/ src/ Plugin/ geolocation/ MapProvider/ Leaflet.php - Provide map provider specific settings ready to handover to JS.
- Yandex::getSettings in modules/
geolocation_yandex/ src/ Plugin/ geolocation/ MapProvider/ Yandex.php - Provide map provider specific settings ready to handover to JS.
5 methods override MapProviderBase::getSettings()
- Baidu::getSettings in modules/
geolocation_baidu/ src/ Plugin/ geolocation/ MapProvider/ Baidu.php - Provide map provider specific settings ready to handover to JS.
- GoogleMapsProviderBase::getSettings in modules/
geolocation_google_maps/ src/ GoogleMapsProviderBase.php - Provide map provider specific settings ready to handover to JS.
- Here::getSettings in modules/
geolocation_here/ src/ Plugin/ geolocation/ MapProvider/ Here.php - Provide map provider specific settings ready to handover to JS.
- Leaflet::getSettings in modules/
geolocation_leaflet/ src/ Plugin/ geolocation/ MapProvider/ Leaflet.php - Provide map provider specific settings ready to handover to JS.
- Yandex::getSettings in modules/
geolocation_yandex/ src/ Plugin/ geolocation/ MapProvider/ Yandex.php - Provide map provider specific settings ready to handover to JS.
File
- src/
MapProviderBase.php, line 69
Class
- MapProviderBase
- Provide Map Provider Base class.
Namespace
Drupal\geolocationCode
public function getSettings(array $settings) {
$default_settings = $this
->getDefaultSettings();
$settings = array_replace_recursive($default_settings, $settings);
foreach ($settings as $key => $setting) {
if (!isset($default_settings[$key])) {
unset($settings[$key]);
}
}
foreach ($this->mapFeatureManager
->getMapFeaturesByMapType($this
->getPluginId()) as $feature_id => $feature_definition) {
if (!empty($settings['map_features'][$feature_id]['enabled'])) {
$feature = $this->mapFeatureManager
->getMapFeature($feature_id, []);
if ($feature) {
if (empty($settings['map_features'][$feature_id]['settings'])) {
$settings['map_features'][$feature_id]['settings'] = $feature
->getSettings([]);
}
else {
$settings['map_features'][$feature_id]['settings'] = $feature
->getSettings($settings['map_features'][$feature_id]['settings']);
}
}
else {
unset($settings['map_features'][$feature_id]);
}
}
}
return $settings;
}