Я довольно новичок в Javascript и API GoogleMaps. У меня проблема с картой, которую я заполняю маркерами. У меня есть поле со списком, которое позволяет пользователю выбрать маркер, и он выделяет маркерна экране для них, открыв информационное окно для него.
Использование отличного учебного пособия Майка Уильямса по API карт Google (http://econym.org.uk/gmap/index.htm) Я хорошо начал работу, и большая часть моего приложения работает.
Проблема может быть найдена в этой ссылке, которая является слегка измененной версией одного из примеров Майка Уильяма:
http://duncanmargetts.com/map3.html
При начальной загрузкестраница, на которой вы видите 100 заполненных маркеров ... для каждого маркера на GEvent создается прослушиватель событий, и когда пользователь выбирает элемент из поля со списком, отображается информационное окно ..
Я добавил SetInterval, которыйперерисовывает карту каждые 8 секунд .. после перерисовки карты поле со списком все еще загружается с правильным содержимым, но прослушиватель событий не сработает .. нет всплывающего окна с информациейвидно.
Шаги для воссоздания:
Перейдите по ссылке (http://duncanmargetts.com/map3.html)
Немедленно выберите элемент из выпадающего списка внизуэкрана ... обратите внимание, что на соответствующем маркере появляется всплывающее окно.
Подождите не менее 8 секунд, пока setInterval сработает ..
Выберите элемент в ComboBox. Обратите внимание, что ничего не происходит: (
Немного информации о коде:
drawMap () вызываетсякогда страница сначала загружается .. drawMap () вызывается каждые 8 секунд после этого SetInterval ..
drawMap извлекает файл XML с подробной информацией о 100 маркерах, и каждый маркер вызывает «createMarker» .. по путиselect_html, строка, создается и в конце итерации маркеров она помещается в div ("selection") с использованием document.getElementById ("selection"). innerHTML = select_html;
IЯ предполагаю, может быть, я не очищаю старых слушателей .. возможно .. Я вотпо адресу GEvent.clearListeners, но не могу разобраться, если а) это то, что мне нужно, или б) как интегрировать его в мой код.
Большое спасибо за прочтение этой статьи. Если у вас есть идеи, яконечно был бы очень благодарен ..
С большим спасибо,
Дункан.