这个代码在所有浏览器中都很好用,除了firefox浏览器。 点击活动无法正常工作。
var marker = new RichMarker({
position: new google.maps.LatLng( _latitude, _longitude ),
map: map,
draggable: draggableMarker,
content: markerContent,
flat: true
});
google.maps.event.addListener(marker, "click", function(event) {
alert(this.position);
});
我如何解决这个问题? THX。
答案 0 :(得分:2)
问题似乎是http://googlemaps.github.io/js-rich-marker/src/richmarker.js
的第615行 this.markerWrapper_.setCapture(true);
当您在内部向标记添加点击侦听器时,单击标记的内容时将触发单击事件。使用上面的行,click-event将仅针对内容的包装器触发(当标记可拖动时发生)。
您需要修改函数addDraggingListeners_
,将其设置为:
RichMarker.prototype.addDraggingListeners_ = function() {
var that = this;
this.draggingListeners_ = [
google.maps.event.addDomListener(window, 'mousemove', function(e) {
that.drag(e);
}, true),
google.maps.event.addDomListener(window, 'mouseup', function() {
that.stopDrag();
}, true)
];
};