【问题标题】:RichMarker for Google Maps v3 - Click falls through markerRichMarker for Google Maps v3 - 点击穿过标记
【发布时间】:2015-05-14 05:12:00
【问题描述】:

我正在使用 RichMarker for Google Maps v3,在 https://googlemaps.github.io/js-rich-marker/reference.html 找到

我已成功注册使用此代码点击标记:

google.maps.event.addListener(this.richMarker, 'click', function(event) {
    console.log("click made on marker");
});

但是,点击也会穿过标记,因此它会在其后面的任何内容上记录一次点击。即地图,如果它有一个处理程序:

google.maps.event.addListener(map, 'click', function(event) {
    console.log("click made on map");
});

如果是可点击的,则为多边形。

如何通过 RichMarker 的点击来防止这种情况发生?

谢谢

【问题讨论】:

  • 您能否提供一个JSFiddle 或至少一个mcve 以便我们了解您是如何做到的?

标签: javascript google-maps google-maps-api-3 google-maps-markers


【解决方案1】:

您需要修改库。

找到这部分:

google.maps.event.addDomListener(this.markerContent_, 'click',   function(e) {
  google.maps.event.trigger(that, 'click');
});

并将其更改为

google.maps.event.addDomListener(this.markerContent_, 'click', function(e) {
  e.stopPropagation();
  google.maps.event.trigger(that, 'click');
});

【讨论】:

  • 这对我不起作用。点击地图仍然有效。
【解决方案2】:
google.maps.event.addListener(richMarker, 'click', function(event) 
{
    // your stuff here

    event.preventDefault();
    event.stopPropagation();
    event.preventDefault();
});

【讨论】:

  • 只是一个变量问题,将所有变量重命名为“事件”
  • 这对我也不起作用 - event 未定义。不是命名问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 2012-08-27
  • 2015-09-10
  • 2014-01-05
  • 2011-10-01
  • 2013-08-14
  • 1970-01-01
相关资源
最近更新 更多