Контроль над слоями в листовке не активируется, когда карта отображается более одного раза.
Я написал тестовую программу, чтобы показать проблему:
<head>
<script>
'use strict';
var BING_KEY = "AplTrT4uzwlmfcERFFQu_NqDycERC_Er0qGYzZhIqrDfq-naYCsUr1kbbKRUqhq1";
var osmUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
function show_karte(div_id, mittelpunkt, zoom){
var bingLayer = L.tileLayer.bing({bingMapsKey: BING_KEY, maxZoom: 20, imagerySet: 'Aerial', attribution: '© 2019 Microsoft Corporation, Earthstar Geographics SIO'});
var bingLabelLayer = L.tileLayer.bing({bingMapsKey: BING_KEY, maxZoom: 20, imagerySet: 'AerialWithLabels', attribution: '© 2019 Microsoft Corporation, Earthstar Geographics SIO'});
var osmLayer = L.tileLayer(osmUrl, {maxZoom: 20, attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'});
var mittelpunkt = [mittelpunkt[1], mittelpunkt[0]]
var map = L.map(div_id,{layers: [bingLabelLayer]}).setView(mittelpunkt, zoom);
var baseLayers = {"Straßenkarte": osmLayer, "Luftbild mit Straßennamen": bingLabelLayer,"Luftbild": bingLayer};
var control = L.control.layers(baseLayers).addTo(map);
};
</script>
</head>
<body>
<div id="map" style="width:450px; height: 450px;">
<script type="text/javascript"> show_karte("map",[6.026173,50.816022],13); </script>
</div>
<div id="map1" style="width:550px; height: 450px;">
<script type="text/javascript"> show_karte("map1",[6.10428,50.76079],11); </script>
</div>
<div id="map2" style="width:650px; height:450px">
<script type="text/javascript">show_karte("map2",[6.10428,50.76079],12); </script>
</div>
</body>
Вы можете посмотреть программу здесь:
https://aachen -hat-energie.de / test_ww / test_zukunft.htm
Элемент управления активирован только на третьей карте. Где ошибка?