Javascript 右键单击marker-谷歌地图V3

Javascript 右键单击marker-谷歌地图V3,javascript,jquery,google-maps,google-maps-api-3,right-click,Javascript,Jquery,Google Maps,Google Maps Api 3,Right Click,我一直在尝试右键点击我的标记,但到目前为止,似乎事件只是没有启动。作为一种解决方法,我目前正在检测地图上的右键单击,然后找到最近的标记并触发右键单击方法-显然这不是很好 根据文档,标记确实有一个右键单击事件,所以我不确定我做错了什么 不起作用但是 google.maps.event.addListener(map, 'rightclick', handleRightClick) 很好。还有: google.maps.event.addListener(marker, 'click', hand

我一直在尝试右键点击我的标记,但到目前为止,似乎事件只是没有启动。作为一种解决方法,我目前正在检测地图上的右键单击,然后找到最近的标记并触发右键单击方法-显然这不是很好

根据文档,标记确实有一个右键单击事件,所以我不确定我做错了什么

不起作用但是

google.maps.event.addListener(map, 'rightclick', handleRightClick)
很好。还有:

google.maps.event.addListener(marker, 'click', handleRightClick)
我还使用了一个名为markerWithLabel的自定义标记插件——当我发现它没有为右键单击添加事件侦听器时,我想我已经破解了它,但即使我在自己身上添加了一个事件侦听器,仍然没有运气。我在第257行添加了以下内容:

google.maps.event.addDomListener(this.eventDiv_, "rightclick", function(e) {
    if (me.marker_.getClickable()) {
        google.maps.event.trigger(me.marker_, "rightclick", e);
        cAbortEvent(e);
    }
})
有没有人遇到过类似的问题或找到更好的解决办法


提前感谢。

假设您有一个地图对象,它叫做globalmap(您创建了一个新的google.maps.map)

这将在地图中心添加一个标记:

var newmarker=new google.maps.Marker({map:globalmap, position: globalmap.getCenter()});
这将听右键单击标记

google.maps.event.addListener(newmarker,  'rightclick',  function(mouseEvent) { alert('Right click triggered'); });
编辑:关于插件,我可以看到它是从google.maps.OverlayView扩展而来的,并在对象的marker属性中传入一个标记。这意味着您仍然可以按自己的方式进行(从示例中复制):

然后将右键单击行为添加为

google.maps.event.addListener(marker1.marker_,  'rightclick',  function(mouseEvent) { alert('Right click triggered'); });
您的最后一次尝试:

google.maps.event.addDomListener(this.eventDiv_, "rightclick",function(){/**/});
…将不起作用,因为没有
右键单击
-domMouseeEvent


您必须观察
eventDiv
click
-事件,并检查事件的
按钮
-属性是否设置为
2
(当检测到右键单击时)

右键单击事件在google.maps.Marker上工作。对于我:

  google.maps.event.addListener(marker, 'rightclick', function() {
    infowindow.setContent("<div style='width:100px'>rightclick</div>");
    infowindow.open(map,marker);
  });
google.maps.event.addListener(标记“右键单击”,函数(){
infowindow.setContent(“右键单击”);
信息窗口。打开(地图、标记);
});

您的HandlerRightClick功能目前做什么?它只是显示一个警报。只是想证明它的工作原理,当我右键点击时,点击事件没有被触发。谷歌地图窃取了它们..用鼠标而不是点击尝试像你建议的那样剥离代码。在标准标记上触发右键单击。我正在使用的markerWithLabel插件中一定有东西不起作用。是的,但当我右键单击标签本身时不能。
google.maps.event.addDomListener(this.eventDiv_, "rightclick",function(){/**/});
  google.maps.event.addListener(marker, 'rightclick', function() {
    infowindow.setContent("<div style='width:100px'>rightclick</div>");
    infowindow.open(map,marker);
  });