检测点击Google地图中的KML区域

时间:2010-12-17 16:07:38

标签: google-maps kml

我在地图上显示KML叠加层:

var k1 = new GGeoXml(url); map.addOverlay(k1);

我想检测点击该区域的时间。这不起作用:

GEvent.addListener(k1,'click',function(){alert('你点击了k1');});

有什么想法吗?

1 个答案:

答案 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');
  }

(见EventListener docs

Google Maps API并不灵活;请记住,KML叠加层的灵活性更低,当您点击叠加层时,您想要做什么?