如何将onclick事件附加到KML文件中指定的地标。可以将事件监听器添加到谷歌地图和谷歌地球插件吗? 我该怎么做呢?
答案 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事件,那么很抱歉我不知道如何实现这一目标。