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.

Я уже давно бился об этом. Что мне не хватает?

У меня такая же проблема, несмотря на то, что я изменил версию API, я все еще не могу заставить ее работать. Как вы в итоге решили проблему?

Omayr 26.07.2011 17:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
15 212
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

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

Время от времени у меня возникали случайные проблемы с API Карт Google, и не раз они исправлялись путем возврата на одну версию API. то есть, если ваша строка включения javascript API карт Google похожа на эту 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 });
});

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

Ответ принят как подходящий

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

Если они обновили его, почему это изменение не действует на моей карте, какие-нибудь идеи? Я почти уверен, что все остальное работает нормально. Проблема - это почти копия вашей проблемы. Обработчик событий работает нормально. Я проверил HTML, тоже нормально.

Omayr 26.07.2011 19:17

Я понятия не имею. Это было почти два года назад. Вы должны начать новый вопрос и включить пример ссылки, демонстрирующей проблему.

ceejayoz 26.07.2011 19:22

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

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