public function GeocodeFormatterBase::getEnabledGeocoderProviders in Geocoder 8.3
Returns the Geocoder providers that are enabled in this formatter.
Return value
\Drupal\geocoder\Entity\GeocoderProvider[] The enabled Geocoder providers, sorted by weight.
5 calls to GeocodeFormatterBase::getEnabledGeocoderProviders()
- AddressGeocodeFormatter::viewElements in modules/
geocoder_address/ src/ Plugin/ Field/ FieldFormatter/ AddressGeocodeFormatter.php - Builds a renderable array for a field value.
- FileGeocodeFormatter::getEnabledGeocoderProviders in modules/
geocoder_field/ src/ Plugin/ Field/ FieldFormatter/ FileGeocodeFormatter.php - Returns the Geocoder providers that are enabled in this formatter.
- GeocodeFormatterBase::settingsSummary in modules/
geocoder_field/ src/ Plugin/ Field/ GeocodeFormatterBase.php - Returns a short summary for the current formatter settings.
- GeocodeFormatterBase::viewElements in modules/
geocoder_field/ src/ Plugin/ Field/ GeocodeFormatterBase.php - Builds a renderable array for a field value.
- ReverseGeocodeGeofieldFormatter::viewElements in modules/
geocoder_geofield/ src/ Plugin/ Field/ FieldFormatter/ ReverseGeocodeGeofieldFormatter.php - Builds a renderable array for a field value.
1 method overrides GeocodeFormatterBase::getEnabledGeocoderProviders()
- FileGeocodeFormatter::getEnabledGeocoderProviders in modules/
geocoder_field/ src/ Plugin/ Field/ FieldFormatter/ FileGeocodeFormatter.php - Returns the Geocoder providers that are enabled in this formatter.
File
- modules/
geocoder_field/ src/ Plugin/ Field/ GeocodeFormatterBase.php, line 273
Class
- GeocodeFormatterBase
- Base Plugin implementation of the Geocode formatter.
Namespace
Drupal\geocoder_field\Plugin\FieldCode
public function getEnabledGeocoderProviders() : array {
$formatter_settings = $this
->getSetting('providers');
// Filter out all providers that are disabled.
$providers = array_filter($this->geocoderProviders, function (GeocoderProvider $provider) use ($formatter_settings) : bool {
return !empty($formatter_settings[$provider
->id()]) && $formatter_settings[$provider
->id()]['checked'] == TRUE;
});
// Sort providers according to weight.
uasort($providers, function (GeocoderProvider $a, GeocoderProvider $b) use ($formatter_settings) : int {
if ((int) $formatter_settings[$a
->id()]['weight'] === (int) $formatter_settings[$b
->id()]['weight']) {
return 0;
}
return (int) $formatter_settings[$a
->id()]['weight'] < (int) $formatter_settings[$b
->id()]['weight'] ? -1 : 1;
});
return $providers;
}