我正在尝试在谷歌地图上创建一个 OverlayView 作为自定义标记。
我能够成功创建如下所示的 OverlayView。
http://plnkr.co/edit/4XDANE?p=preview
但是,当我尝试向它添加事件监听器时,我卡住了。
我尝试了以下方法,但没有成功。
// ------------- Trying To Add DOM Event Listener ---
google.maps.event.addDomListener(this.div, 'click', function(){
alert(1); // NOT working
})
// ------------- Or, this ---
this.div.addEventListener('click',function() {
alert(1); // NOT working
});
有人成功做到了吗?
-----更新---- 按照@dr-molle 的建议,以下接受鼠标点击。
//panes.overlayLayer.appendChild(div); NOT THIS
panes.overlayMouseTarget.appendChild(div); // But, This
// ------------- Trying To Add DOM Event Listener ---
google.maps.event.addDomListener(this.div, 'click', function(){
alert(1); // working
})
最佳答案
您必须为图层使用不同的 Pane
。
目前您使用 overlayLayer
,但只有 overlayMouseTarget
和 floatPane
可以接收 DOM 事件。
我建议使用 overlayMouseTarget
,在这种情况下,您的叠加层将像标记一样工作(InfoWindows 将在叠加层前面打开)
关于javascript - OverlayView如何添加事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197085/