public function TaxonomyTermThemerUrl::getIcon in Geofield Map 8.2
Retrieve the icon for theming definition.
Parameters
array $datum: The geometry feature array definition.
\Drupal\geofield_map\Plugin\views\style\GeofieldGoogleMapViewStyle $geofieldMapView: The Geofield Map View dispaly object.
\Drupal\Core\Entity\EntityInterface $entity: The entity generating the datum.
mixed $map_theming_values: The Map themer mapping values.
Return value
mixed The icon definition.
Overrides MapThemerInterface::getIcon
1 method overrides TaxonomyTermThemerUrl::getIcon()
- TaxonomyTermThemer::getIcon in src/
Plugin/ GeofieldMapThemer/ TaxonomyTermThemer.php - Retrieve the icon for theming definition.
File
- src/
Plugin/ GeofieldMapThemer/ TaxonomyTermThemerUrl.php, line 326
Class
- TaxonomyTermThemerUrl
- Style plugin to render a View output as a Leaflet map.
Namespace
Drupal\geofield_map\Plugin\GeofieldMapThemerCode
public function getIcon(array $datum, GeofieldGoogleMapViewStyle $geofieldMapView, EntityInterface $entity, $map_theming_values) {
$taxonomy_field = isset($map_theming_values['taxonomy_field']) ? $map_theming_values['taxonomy_field'] : NULL;
$fallback_icon = isset($map_theming_values['fields'][$taxonomy_field]['terms']['__default_value__']['icon_file']) ? $map_theming_values['fields'][$taxonomy_field]['terms']['__default_value__']['icon_file'] : NULL;
$file_uri = $fallback_icon;
if (isset($entity->{$taxonomy_field}) && !empty($entity->{$taxonomy_field}->target_id)) {
$taxonomy_field_term = $entity->{$taxonomy_field}->target_id;
$file_uri = isset($map_theming_values['fields'][$taxonomy_field]['terms'][$taxonomy_field_term]['icon_file']) && $map_theming_values['fields'][$taxonomy_field]['terms'][$taxonomy_field_term]['icon_file'] != 'none' ? $map_theming_values['fields'][$taxonomy_field]['terms'][$taxonomy_field_term]['icon_file'] : ($fallback_icon != 'none' ? $fallback_icon : NULL);
}
return $this->markerIcon
->getFileSelectedUrl($file_uri);
}