我想在使用传单和传单提供者时显示层控制。 它运行良好但在加载时,未在控件中选择使用的地图。 请注意,我可以选择默认地图(当然,没有任何变化),我可以选择其他地图(并切换到此地图)。
为什么在控件中未选择默认地图? 我不知道是否存在问题,或者我是否使用了相应的代码。
你可以在这里看到关于plunker的代码:http://plnkr.co/edit/d4ycVbdVRGoxE9h8svQe
var map = L.map('osm_map', {
zoom: 4,
zoomControl: false,
minZoom: 2,
maxZoom: 18
});
var baseMaps = {
'OpenTopoMap': L.tileLayer.provider('OpenTopoMap'),
'OpenStreetMap.France': L.tileLayer.provider('OpenStreetMap.France')
};
L.tileLayer.provider('OpenTopoMap').addTo(map);
L.control.layers(baseMaps).addTo(map);
L.control.zoom({position: 'topleft'}).addTo(map);
L.marker([57.150,-6.100]).addTo(map);
L.marker([57.500,-6.450]).addTo(map);
map.fitBounds([
[57.150,-6.100], [57.500,-6.450]
]);
感谢您的帮助
答案 0 :(得分:1)
为什么在控件中未选择默认地图?
因为你实际创建了2个Tile Layers,即使它们渲染完全相同。
要使Leaflet图层控件检测到其中一个基本地图已添加到地图(“默认”基本地图),您必须添加完全相同的图层对象。
while (iterator.hasNext()) {