#javascript #google-maps #google-maps-api-3 #google-maps-markers
#javascript #google-карты #google-maps-api-3 #google-maps-markers
Вопрос:
У меня есть объект Google Map, доступный на моем window
объекте, вот так:
var map = window.site.map.el;
Map
На нем также размещена куча маркеров, я бы хотел скрыть a Marker
на том Map
, где свойство маркера place_id
равно "123"
, например.
Однако я не вижу функции, которую я мог бы вызвать в Map
классе, которая вернет мне массив всех маркеров, размещенных на карте, которые я затем могу перебирать и скрывать в зависимости от маркера place_id
.
Ответ №1:
Google Maps не предоставляет способа получить все маркеры, вам нужно сделать это самостоятельно
при добавлении маркера на карту сохраните его в массиве
var myMarkers = [];
....
for(...) {
var marker = new google.maps.Marker({...});
myMarkers.push(marker);
}
Затем вы можете скрыть любой маркер, просто установив для map значение null
myMarker[i].setMap(null);
Или вернуть его обратно
myMarker[i].setMap(map);