我希望在点击传单地图时能够做出反应,并且有一个警告'即将发生。但问题是,如果点击在地图上的某些多边形形状的 之外,我只希望发生这种反应。我试过了:
function onMapClick(e) {
alert("Nothing to do here") ;
}
mymap.on('click', onMapClick);
如果我不点击我的一个多边形,它就能正常工作。但是,如果我点击一个多边形,我会得到他们的行动,并且仍然得到这个警报,这是我不想发生的。这是我无法在任何地方找到任何人提及的可能性,所以我觉得我已经没有线索了。我应该在哪里学习如何做到这一点?
答案 0 :(得分:1)
在Leaflet 1.0.x中,默认情况下,某些地图图层(例如L.Polygon
s)上的交互式事件会冒泡到地图。有关详细信息和背景信息,请参阅bug #3307。
文档没有明确提及,但希望PR #4883会更好。只需根据需要在多边形事件处理程序中调用L.DomEvent.stopPropagation()
。
答案 1 :(得分:0)
你可以尝试这个技巧,在Polygon上插入一个点击事件:
var onClick = function(event){
//Do nothing
};
var poly = new L.Polygon([
[79.07181, -100.63477],
[79.06348, -90.43945],
[77.52312, -90.52734],
[77.50412, -94.21875],
[77.41825, -94.35059],
]);
poly.on('click', onClick);