function _leaflet_more_maps_assemble_custom_map_info in Leaflet More Maps 2.1.x
Same name and namespace in other branches
- 8 leaflet_more_maps.module \_leaflet_more_maps_assemble_custom_map_info()
- 7 leaflet_more_maps.module \_leaflet_more_maps_assemble_custom_map_info()
Assemble custom map info based on selected layers.
Parameters
string $custom_map_key:
array $selected_layer_keys:
array $map_info:
array $default_settings:
false $reverse_order:
1 call to _leaflet_more_maps_assemble_custom_map_info()
- leaflet_more_maps_leaflet_map_info in ./
leaflet_more_maps.module - Implements hook_leaflet_map_info().
File
- ./
leaflet_more_maps.module, line 569
Code
function _leaflet_more_maps_assemble_custom_map_info(string $custom_map_key, array $selected_layer_keys, array &$map_info, array $default_settings = [], $reverse_order = FALSE) {
if (empty($custom_map_key) || empty($selected_layer_keys)) {
return;
}
$map_info["~{$custom_map_key}"] = [
'label' => $custom_map_key,
'description' => t('Custom defined map with layer switcher'),
'layers' => [],
];
$selected_layer_keys = array_filter($selected_layer_keys);
$i = $reverse_order ? count($selected_layer_keys) : 1;
foreach ($map_info as $map_key => $map) {
foreach ($map['layers'] as $layer_key => $layer) {
// Unique.
$custom_layer_key = "{$map_key} {$layer_key}";
if (in_array($custom_layer_key, $selected_layer_keys)) {
$layer_switcher_key = t('layer') . " #{$i}";
$map_info["~{$custom_map_key}"]['layers'][$layer_switcher_key] = $layer;
$i = $reverse_order ? $i - 1 : $i + 1;
}
}
}
if ($reverse_order) {
$map_info["~{$custom_map_key}"]['layers'] = array_reverse($map_info["~{$custom_map_key}"]['layers']);
}
$has_layer_control = count($map_info["~{$custom_map_key}"]['layers']) > 1;
$map_info["~{$custom_map_key}"]['settings'] = [
'layerControl' => $has_layer_control,
] + $default_settings;
}