将点击事件添加到KMLLayer地标和标记

时间:2011-05-20 10:51:30

标签: events google-maps kml google-maps-markers google-earth-plugin

如何将onclick事件附加到KML文件中指定的地标。可以将事件监听器添加到谷歌地图和谷歌地球插件吗? 我该怎么做呢?

2 个答案:

答案 0 :(得分:21)

在Google地球插件中

google.earth.fetchKml(ge, href, function(kmlObject) {});
google.earth.addEventListener(kmlObject, 'click', function(event) {
    event.preventDefault();
    var kmlPlacemark = event.getTarget();
    alert(kmlPlacemark.getName());
});

在Google Maps API中

var ctaLayer = new google.maps.KmlLayer('http://www.****.com/index.kml');
ctaLayer.setMap(map);
google.maps.event.addListener(ctaLayer, 'click', function(kmlEvent) {
    var text = kmlEvent.featureData.description;
    alert(text);
});

答案 1 :(得分:1)

貌似onl事件在kml加载时被包裹(GMaps v3,kml with Placemarks)任何地标引用捆绑在同一kml文件中的“BallonStyle”导致这些替换默认弹出窗口 - 并且你可以实现很多它们。

这些是Gmaps v3 http://code.google.com/apis/kml/documentation/kmlelementsinmaps.html

支持的kml元素

如果您的问题是如何拦截onlick事件,那么很抱歉我不知道如何实现这一目标。