Вопрос

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

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

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

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

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

Заслуживающий внимания:

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

Я уже некоторое время бьюсь об это головой.Что я упускаю из виду?

Это было полезно?

Решение 5

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

Другие советы

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

попробуй:

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

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

Недавно у меня возникла эта проблема, определенно запускались обработчики событий и т.д.Оказалось, что было два экземпляра Google Maps <script> tag on the page.Удаление одного из них исправило это.

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

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top