Revision cb961f9d
Added by Andreas Kohlbecker almost 7 years ago
modules/cdm_dataportal/includes/maps.inc | ||
---|---|---|
149 | 149 |
// --- setting the base layer options |
150 | 150 |
if (is_array($map_settings['openlayers']['base_layers']) && count($map_settings['openlayers']['base_layers']) > 0) { |
151 | 151 |
|
152 |
$layer_names = $map_settings['openlayers']['base_layers']; |
|
152 |
$base_layer_names = $map_settings['openlayers']['base_layers'];
|
|
153 | 153 |
|
154 |
foreach($layer_names as $name){ |
|
154 |
foreach($base_layer_names as $name){
|
|
155 | 155 |
if(str_beginsWith($name, 'g')){ |
156 | 156 |
if( isset($map_settings['openlayers']['google_maps_api_key']) && strlen($map_settings['openlayers']['google_maps_api_key']) == 39) { |
157 | 157 |
// google layer detected |
... | ... | |
163 | 163 |
} |
164 | 164 |
} |
165 | 165 |
|
166 |
$cdm_openlayers_options['baseLayerNames'] = array_values($layer_names); |
|
166 |
// get default layer and remove the 'PREFERRED' from the list to avoid duplicate layers |
|
167 |
$preferred_baseLayer = $base_layer_names['PREFERRED']; |
|
168 |
unset($base_layer_names['PREFERRED']); |
|
167 | 169 |
|
168 |
if($layer_names['PREFERRED']){ |
|
169 |
$cdm_openlayers_options['defaultBaseLayerName'] = $layer_names['PREFERRED']; |
|
170 |
unset($layer_names['PREFERRED']); // why is this needed? |
|
171 |
if(!array_search($cdm_openlayers_options['defaultBaseLayerName'], $cdm_openlayers_options['baseLayerNames'])){ |
|
170 |
$cdm_openlayers_options['baseLayerNames'] = array_values($base_layer_names); |
|
171 |
|
|
172 |
if($preferred_baseLayer){ |
|
173 |
$cdm_openlayers_options['defaultBaseLayerName'] = $preferred_baseLayer; |
|
174 |
if(array_search($preferred_baseLayer, $cdm_openlayers_options['baseLayerNames']) === false){ |
|
172 | 175 |
// the default layer must also be in the list of base layers |
173 |
$cdm_openlayers_options['baseLayerNames'][] = $cdm_openlayers_options['defaultBaseLayerName'];
|
|
176 |
$cdm_openlayers_options['baseLayerNames'][] = $preferred_baseLayer;
|
|
174 | 177 |
} |
175 | 178 |
} |
176 | 179 |
|
... | ... | |
180 | 183 |
$map_settings['openlayers']['custom_wms_base_layer']['params'] = json_decode($map_settings['openlayers']['custom_wms_base_layer']['params']); |
181 | 184 |
$cdm_openlayers_options['customWMSBaseLayerData'] = $map_settings['openlayers']['custom_wms_base_layer']; |
182 | 185 |
|
186 |
|
|
187 |
// --- wms_overlay_layer |
|
188 |
if($map_settings['openlayers']['wms_overlay_layer']['is_enabled']) { |
|
189 |
$map_settings['openlayers']['wms_overlay_layer']['params'] = json_decode($map_settings['openlayers']['wms_overlay_layer']['params']); |
|
190 |
$cdm_openlayers_options['wmsOverlayLayerData'] = $map_settings['openlayers']['wms_overlay_layer']; |
|
191 |
} |
|
192 |
|
|
183 | 193 |
// --- eventhandlers |
184 | 194 |
$event_listeners_js = ''; |
185 | 195 |
$execute_handler = ''; |
Also available in: Unified diff
fix #6573 wms overlay layer and some bugfixes: