点击/单击时,隐藏/显示L.control(传单)



我希望用户能够点击屏幕切换L.control,以获得更干净的地图。

这是我切换L.control:的代码

var dragged = false
window.addEventListener('mousedown', function () {
dragged = false
})
window.addEventListener('mousemove', function () {
dragged = true
})           
$("#mapid").on("click", function () {
if (dragged == false && $(window).width() < 960) {
return $(".leaflet-left").slideToggle(300) && $(".leaflet-right").slideToggle(300);
}
})

这是有效的,但问题是L.control在单击地图上的标记时也会切换。

单击标记时如何忽略此项?

https://jsfiddle.net/2frpcL4y/

使用地图上的传单内部事件click

map.on("click", function () {
if ($(window).width() < 960) {
$(".leaflet-left").slideToggle(300) && $(".leaflet-right").slideToggle(300);
}
})

检查弹出窗口是否打开:

function isPopupOpen(){
var popupOpen = false;
map.eachLayer((layer)=>{
if(layer instanceof L.Popup){
popupOpen = true;
}
})
return popupOpen;
}

最新更新