[英]How to bind event handler to Google Maps V3 API default PanControl's click event?
此页面描述了 Google Maps V3 API 的默认控件集: http : //code.google.com/apis/maps/documentation/javascript/controls.html#DefaultUI
我有兴趣接管 PanControl 的单击事件并将其绑定到我的自定义函数。
例如,当用户点击 Pan Left (Up/Right/Down) UI 控件时,不仅地图的视口发生变化,而且函数 A也会被调用。
正如我想象的那样,这样做的一种方法是监听 Map 的点击事件并检查它的目标?
关于如何做到这一点的任何建议/示例(特别有用)?
您的假设(听 Map 的 click 事件并检查它的目标)听起来是正确的,因为没有访问控件的实现。
这对我有用(现在):
google.maps.event.addDomListener(map.getDiv(),'click',
function(e)
{
var t=e.target,
a=[null,'left','right','up','down'];
if(
t.parentNode.parentNode.hasAttribute('controlwidth')
&&
t.parentNode.childNodes.length==5
&&
t.parentNode.firstChild.tagName=='IMG'
&&
t.parentNode.firstChild.src
=="http://maps.gstatic.com/mapfiles/mapcontrols3d7.png"
)
{
for(var i=1;i<t.parentNode.childNodes.length;++i)
{
if(t.parentNode.childNodes[i]==t)
{
alert('You\'ve clicked on \n>>>'+a[i]+
'\nyou may call a function now.');
}
}
}
});
http://jsfiddle.net/doktormolle/fwgMy/
但它只在谷歌修改标记之前有效,这可能是明天。
更好的方法是隐藏泛控件并创建自己的控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.