我已经根据谷歌文档的说明对我的覆盖对象进行了子类化,我的 onAdd() 函数如下所示:
MyOverlay.onAdd() {
var div_parent = document.createElement("DIV");
var div_child = document.createElement("DIV");
div_child.innerHTML = "Click Me";
div_parent.appendChild( div_child );
this.getPanes().overlayLayer.appendChild(div_parent);
var this = that;
google.maps.event.addDomListener( div_parent, 'click', function(){
google.maps.event.trigger(that, 'click'); // from [http://stackoverflow.com/questions/3361823/make-custom-overlay-clickable-google-maps-api-v3]
alert("Clicked");
} );
}
我的代码只能在 IE 中运行良好,但在 Firefox 和 Chrome 中,单击事件将不再被触发。
那么如何解决问题呢?
您应该使用overlayMouseTarget,而不是使用overlayLayer mapPanes。
参考:http://code.google.com/apis/maps/documentation/javascript/overlays.html#CustomOverlays http://code.google.com/apis/maps/documentation/javascript/overlays.html#CustomOverlays
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)