Как динамически изменить маркер карт Google после его добавления - PullRequest
2 голосов
/ 15 января 2012

Используя API карт Google (v3), я могу успешно добавить массив маркеров на карту с помощью пользовательских значков.

Каждый маркер представляет пункт назначения, и я хочу изменить изображение значка, когда имя соответствующего пункта назначенияэто указатель мыши в другом месте на странице.

Я могу добавить прослушиватель событий, чтобы поднять указатель мыши, и я знаю, что могу использовать marker.setIcon ("imgurl"), чтобы изменить значок, однако чтоЯ не могу понять, как ссылаться на конкретный маркер, который нужно изменить?

Я читал, что могу добавить «идентификатор» при определении маркера, однако я не могу понять, как использоватьэто в сочетании с marker.seticon для обновления этого конкретного маркера.

Спасибо за вашу помощь.

Ответы [ 2 ]

8 голосов
/ 15 января 2012

Если у вас есть идентификационные номера для каждого пункта назначения, сохраняйте массив маркеров, проиндексированных вашим пунктом назначения.

Например,

var myMarkers = []
for(var i = 0; i < destinations.length; i++) {
  myMarkers[destination[i].id] = new google.maps.Marker(markerOpts)
}

и по ссылкам назначения в других местах:

onclick = function() {
    myMarkers[destinationID].setIcon(otherIcon)
}
2 голосов
/ 15 января 2012

Я обычно создаю массив с именем markersArray.Затем я называю каждый маркер marker_1, marker_2 и т. Д., Используя цикл for.После того, как каждый из них создан, я помещаю его в массив markersArray.Теперь вы можете ссылаться на каждый маркер, используя markersArray [i].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...