我在地图上显示KML叠加层:
var k1 = new GGeoXml(url); map.addOverlay(k1);
我想检测点击该区域的时间。这不起作用:
GEvent.addListener(k1,'click',function(){alert('你点击了k1');});
有什么想法吗?
答案 0 :(得分:0)
我假设你正在使用V2 Maps API。
通过查看文档,GGeoXml课程没有提出“点击”。事件及其实现的界面,GOverlay也没有公开该事件。所以,虽然你理论上会绑定到那个事件,但它永远不会被触发。
您将听众绑定到一个不存在的事件 - GOverlay不会引发任何事件。
在快速浏览中,只有GMap2引发鼠标事件(也许是其他类)。您是否尝试向此添加侦听器,然后在事件触发时检查源对象?
var k1 = new GGeoXml(url);
map.addOverlay(k1);
GEvent.addListener(map, 'click', callback);
function (overlay, latlng) callback
{
if (overlay == k1) alert('you clicked on k1');
}
Google Maps API并不灵活;请记住,KML叠加层的灵活性更低,当您点击叠加层时,您想要做什么?