HTMLDivBalloon - Google Планета Земля API Вопрос - PullRequest
1 голос
/ 19 июня 2010

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

Я пробовал все, включая использование event.stopPropagation () в событии beforeclose htmlDivBalloon, но все равно ничего не работает.У кого-нибудь есть идеи по этому поводу?

С уважением, Джон Тадрос

1 Ответ

0 голосов
/ 18 декабря 2011

Скорее всего, вы не обрабатываете событие по умолчанию или не проверяете, какие объекты действуют в обработчике, «прикрепленном к событию щелчка карты».Вы не показали никакого кода, поэтому трудно сказать, как именно это исправить, но общий способ справиться с этим заключается в следующем.

// listen for mousedown on the window 
google.earth.addEventListener(ge.getWindow(), 'mousedown', function(e) {
  var type = e.getTarget().getType();
  if (type == 'KmlPlacemark') {
    // prevent the default event for placemarks, stop Propagation
    e.preventDefault();
    e.stopPropagation();
  } else if(type == 'GEGlobe') {
    // do something with the globe...
  }
  // etc...
});
...