我有一张带有几个标记的传单地图.我将这些标记放在"图层组"中,以便能够显示和隐藏标记类别.这些是我的标记:
var aa = L.marker([48.185556, 11.620278]).bindPopup('AA'),
bb = L.marker([48.152222, 11.592778]).bindPopup('BB'),
cc = L.marker([48.161209, 11.597989]).bindPopup('CC'),
dd = L.marker([48.14350, 11.58775]).bindPopup('DD'),
ee = L.marker([48.14989, 11.59094]).bindPopup('EE'),
ff = L.marker([48.15958, 11.60608]).bindPopup('FF');
var restaurants = L.layerGroup([aa, bb]);
var sport = L.layerGroup([cc, dd]);
var sights = L.layerGroup([ee, ff]);
Run Code Online (Sandbox Code Playgroud)
当我使用图层控件和overlayMaps时,这非常有效:
var overlayMaps = {
"Restaurants": restaurants,
"Sport": sport,
"Sights": sights
};
L.control.layers(overlayMaps).addTo(map);
Run Code Online (Sandbox Code Playgroud)
但现在我希望能够使用我自己的"按钮"(图标)来完成这项工作(隐藏和显示图层组).我的HTML:
<div class="header">
<a href="#">
<span class="fontawesome-food"></span>
<span class="fontawesome-heart-empty"></span>
<span class="fontawesome-eye-open"></span>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我想这可能与removeLayer或类似的东西,但我只是不明白它是如何使它工作(显示和隐藏餐馆,,sport-和景点层).因此,当我点击标题中的图标并且第二次单击时它们消失时,我想表明我的图层是可见的.非常感谢!
我的传单地图有问题.我的地图上有一些标记,当点击一个标记时,标记居中.现在我想点击一个标记时它不仅居中,而且我想放大标记.当我添加这个
map.setZoom((16), {animate: true});
Run Code Online (Sandbox Code Playgroud)
至
map.on('popupopen', function(centerMarker) {
var cM = map.project(centerMarker.popup._latlng);
cM.y -= centerMarker.popup._container.clientHeight/2
map.setZoom((16), {animate: true});
map.panTo(map.unproject(cM),{animate: true});
});
Run Code Online (Sandbox Code Playgroud)
我的代码中心并没有真正起作用,因为它放大但不会使标记居中.但是如果我处于预期的缩放级别(16),所有其他标记都会居中.如果我在缩放级别16之外,我该怎么做才能将地图缩放到标记并且标记也会居中?我对传单和jquery很新...