gpt4 book ai didi

jquery - 使用自己的按钮隐藏/显示传单中的图层组

转载 作者:行者123 更新时间:2023-12-03 22:29:24 26 4
gpt4 key购买 nike

我有一张传单 map ,里面有几个标记。我已将这些标记放入“图层组”中,以便能够显示和隐藏标记类别。这些是我的标记:

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]);

当我使用 Layers Control 和 OverlayMaps 时,效果非常好:

var overlayMaps = {
"Restaurants": restaurants,
"Sport": sport,
"Sights": sights
};

L.control.layers(overlayMaps).addTo(map);

但现在我希望能够使用我自己的“按钮”(图标)来完成这项工作(隐藏和显示图层组)。我的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>

我想用removeLayer或类似的东西是可能的,但我只是不明白如何让它工作(显示和隐藏餐厅层、运动层和景点层)。因此,我想实现当我单击标题中的图标时我的图层可见,而当我第二次单击时它们消失。非常感谢!

最佳答案

首先您需要每个层的链接

<ul>
<li><a id="restaurants" href="#">restaurants</a></li>
<li><a id="sport" href="#">sport</a></li>
<li><a id="sights" href="#">sights</a></li>
</ul>

然后,对于每个链接,您可以编写一个像这样的处理程序(使用 jQuery 的示例)

$("#restaurants").click(function(event) {
event.preventDefault();
if(map.hasLayer(restaurants)) {
$(this).removeClass('selected');
map.removeLayer(restaurants);
} else {
map.addLayer(restaurants);
$(this).addClass('selected');
}
});

这里有一个例子http://jsfiddle.net/FranceImage/c5Yfb/

关于jquery - 使用自己的按钮隐藏/显示传单中的图层组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com