2013-06-14 2 views
0

См http://www.milebymile.com/main/highway-1777.htmlмаркер метод SetIcon странно уничтожив объект маркера

Перейти к правой панели навигации и нажмите на кемпинге +, чтобы увидеть выбор кемпингов. Нажмите на палаточный лагерь.

Первое предупреждение показывает URL-адрес getIcon до setIcon. Второе предупреждение getIcon после того, как setIcon показывает undefined, потому что маркер теперь не определен.

Маркер меняется, поэтому marker.setIcon работает, но затем после этого срабатывает. Нельзя ссылаться на соответствующий маркер.

Я сделал что-то не так, или это ошибка? Заранее спасибо.

Я использую версию Chrome версии 28.0.1500.44 beta-m.

+0

Пожалуйста, пост проблемный код, а не просто ссылку. – geocodezip

+0

Как вы пытаетесь снова ссылаться на маркер? – geocodezip

+0

Вы пробовали [google.maps.Icon] (https://developers.google.com/maps/documentation/javascript/reference#Icon) вместо устаревшего google.maps.MarkerImage? Не уверен, почему это имеет значение, но вы изначально определяете значок с помощью MarkerImage, но изменяете его, задавая URL-адрес. – geocodezip

ответ

1

Проблема не в том, что маркер уничтожается, но что метод marker.getIcon больше не возвращает ничего с свойством .url.

Так второй из этих утверждений:

var old_icon_url = marker.getIcon().url;  
var new_icon_url = old_icon_url.replace(".png","_selected.png"); 

генерирует ошибку, и выполнение останавливается, так что вы не видите предупреждения.

Ошибка (в хроме):

Uncaught TypeError: Cannot call method 'replace' of undefined mapGenerate.js:111 
+0

Решение: Спасибо geocodezip. Ваше предложение привело меня к решению. Я должен определить значок, по крайней мере, с url и anchor. Если вы просто передаете строку в нее, она создает маркер, но больше не поддерживает ссылку на URL в объекте маркера. Должна быть ошибка или что-то в этом роде. В любом случае, используя значок, а не ссылку на строку, объект остается нетронутым. marker.setIcon ({ URL: "/ фото/mapIcons /" + iconTypePOI + "_ selected.png", анкерные: google.maps.Point (7, 7)} ) – user1747992

+0

Если решить вашу проблему, вы должен [принять это] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – geocodezip

Смежные вопросы