Добавление события клика в метки и маркеры KMLLayer
Как прикрепить событие onclick к меткам, указанным в файле KML. Можно ли добавлять прослушиватели событий на карты Google и плагин Google Earth? Как бы я пошел по этому поводу?
2 ответа
Решение
В плагине 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);
});
По-видимому, событие onlick оборачивается, когда загружается kml (GMaps v3, kml с метками). Любые ссылки на метки "BallonStyle", включенные в один и тот же файл kml, приводят к тому, что они заменяют всплывающее окно по умолчанию - и вы можете многого достичь с ними.
Это элементы kml, поддерживаемые Gmaps v3 http://code.google.com/apis/kml/documentation/kmlelementsinmaps.html
Если ваш вопрос заключается в том, как перехватить это событие onlick, то извините, я не знаю, как вы можете этого добиться.