API Карт Google - GMarker.openInfoWindowHtml() перестал работать

У меня есть карта Google, которая внезапно перестала работать без видимой причины (я не касался кода в течение нескольких месяцев, но код оболочки из нашей CMS мог измениться, не сообщив мне об этом корпорации).

http://www.democratandchronicle.com/section/builder

(извините за неприятный HTML вне карты, большая часть которого исходит от нашего корпоративного родителя...)

Я сузил это до этой части моего drawMarker функция:

GEvent.addListener(marker, 'click', function() {
  marker.openInfoWindowHtml(html, { maxWidth: 500 });
});

Отметить:

  • alert(html); отображает правильный HTML для информационного окна.
  • HTML-код в переменной html действительно допустим.
  • Событие нажатия срабатывает (подтверждено alert('test'); внутри)
  • Другая карта, размещенная на том же сайте, работает нормально, несмотря на похожий код.
  • Нет ошибок JavaScript в Firebug или IE, которые я вижу.

Я бился головой об этом некоторое время. Что мне не хватает?

5 ответов

Решение

Это решилось само собой. Я подозреваю, что обновление API сломало что-то для версии или двух.

Иногда у меня возникали случайные проблемы с API Карт Google, и не раз это исправляли, возвращаясь к одной версии API. т.е. если ваша строка включения JavaScript API Google Maps выглядит следующим образом http://maps.google.com/maps?file=api&v=2.xd&key=XXXXXизмените 2.x на несколько версий назад (назад, когда он работал), как 2.132 или что-то

У меня недавно была эта проблема, определенно запускались обработчики событий и т. Д. Оказалось, что на странице было два экземпляра тега Google Maps. Удаление одного исправило это.

Пытаться:

GEvent.addListener(marker, 'click', function() {
  this.openInfoWindowHtml(html, { maxWidth: 500 });
});

помните, что область действия объекта "маркер" находится за пределами вашей функции

Попробуйте заставить JavaScript создать новую переменную из вашего HTML:

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
Другие вопросы по тегам