Google Maps JS API, скрыть маркер карты, где ‘place_id’ равно

#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);