传单 - 在地图的某些区域点击某些内容

时间:2016-10-31 04:32:00

标签: javascript leaflet

我希望在点击传单地图时能够做出反应,并且有一个警告'即将发生。但问题是,如果点击在地图上的某些多边形形状的 之外,我只希望发生这种反应。我试过了:

function onMapClick(e) {
     alert("Nothing to do here") ;
 }
 mymap.on('click', onMapClick);

如果我不点击我的一个多边形,它就能正常工作。但是,如果我点击一个多边形,我会得到他们的行动,并且仍然得到这个警报,这是我不想发生的。这是我无法在任何地方找到任何人提及的可能性,所以我觉得我已经没有线索了。我应该在哪里学习如何做到这一点?

2 个答案:

答案 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);