Добавление события клика в метки и маркеры 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, то извините, я не знаю, как вы можете этого добиться.

Другие вопросы по тегам