API Google Планета Земля: как запустить обработчик при открытии информационного окна - PullRequest
0 голосов
/ 30 июня 2011

У меня есть плагин Google Планета Земля с данными, загруженными из файла kml.Kml содержит полигоны, при нажатии на полигон открывается шарик с содержанием тега.

Как я могу прикрепить обработчик к открытию шарика, этот обработчик затем создаст настраиваемый шарик и остановитсобытие по умолчанию.

Я думаю, что это должно быть примерно так, я просто не знаю, какое событие слушать!

google.earth.addEventListener("SOMETHING", 'click', function(event) {
//Code to create custom baloon
});

1 Ответ

1 голос
/ 06 августа 2011

Вы прослушиваете «щелчок», вам нужно знать, с чего слушать щелчок.

В этом случае, я думаю, вы хотите прослушивать клики на любых полигонах.

Для этого настройте универсальный прослушиватель для всех кликов, затем проверьте, является ли щелчок полигоном, если это так, отмените поведение по умолчанию и отобразите пользовательский всплывающий значок.

, например

google.earth.addEventListener(ge.getWindow(), 'click', function(e) { 
    if (e.getTarget().getType() == 'KmlPlacemark' && 
    e.getTarget().getGeometry().getType() == 'KmlPolygon') {
        // Prevent the default balloon from appearing.
        e.preventDefault();

        // create a custom balloon attached to the target
        var balloon = ge.createHtmlStringBalloon('');
        balloon.setFeature(e.getTarget());
        balloon.setContentString("custom baloon!");
        ge.setBalloon(balloon);
    }
});
...