как получить все маркеры на google-maps-v3

Есть ли способ получить все маркеры на Google Maps?


person zjm1126    schedule 05.04.2010    source источник
comment
Не могли бы вы уточнить, что вы пытаетесь сделать. Также, если у вас есть код, опубликуйте его, чтобы мы могли помочь вам найти решение, а не просто дать вам код.   -  person Voltin    schedule 11.04.2010
comment
очень полезная ссылка по этой теме   -  person Rafaf Tahsin    schedule 22.09.2015
comment
@ zjm1126 ... возможно, вы сможете ответить на вопрос Вольтина в комментарии где-нибудь в течение следующих трех лет? И дайте нам знать, если среди опубликованных есть лучший ответ. Если нет .. пожалуйста, подтвердите самостоятельный ответ .. Я полагаю, что после того, как вы набрали 14 тысяч представителей, вы уже можете ответить на свой вопрос ;-P   -  person ZF007    schedule 05.02.2018


Ответы (6)


Если вы имеете в виду «как я могу получить ссылку на все маркеры на данной карте» — то я думаю, что ответ «Извините, вы должны сделать это сами». Я не думаю, что есть какая-либо удобная функция типа "maps.getMarkers()": вы должны сохранять свои собственные ссылки по мере создания точек:

var allMarkers = [];
....
// Create some markers
for(var i = 0; i < 10; i++) {
    var marker = new google.maps.Marker({...});
    allMarkers.push(marker);
}
...

Затем вы можете перебрать массив allMarkers и делать все, что вам нужно.

person Mr Speaker    schedule 12.07.2011
comment
просто хочу проверить, актуально ли это на сегодняшний день или сейчас есть поддержка извлечения маркеров с карты? - person ItayB; 30.01.2014
comment
все еще актуально, похоже, нет другого пути, если вы не храните маркеры в определенном массиве, определенном вами - person Craig Wayne; 16.10.2014
comment
Сработало чудесно - нужно было удалить существующие маркеры, и манипулирование вновь созданным массивом сделало свое дело. благодаря. - person tmehta2442; 16.04.2019

Единственный найденный способ — использовать библиотеку geoXML3, которая подходит для использования вместе с версией процессора KML. 3 API JavaScript Карт Google.

person Igor    schedule 25.05.2011

Я предполагаю, что у вас есть несколько маркеров, которые вы хотите отобразить на карте Google.

Решение состоит из двух частей: одна для создания и заполнения массива, содержащего все сведения о маркерах, а вторая — для перебора всех записей в массиве для создания каждого маркера.

Не знаю, какую среду вы используете, немного сложно предоставить конкретную помощь.

Мой лучший совет - взглянуть на эту статью и принять ответ, чтобы понять принципы создания карты с несколькими маркерами: Отображать несколько маркеров на карте с собственными информационными окнами

person thewinchester    schedule 25.05.2010

Если вы используете подключаемый модуль карты Google JQuery, тогда для вас будет работать приведенный ниже код:

var markers = $('#map_canvas').gmap('get','markers');

person Raj    schedule 03.06.2013
comment
$(...).gmap не является функцией - person djdance; 22.01.2018

Для конкретного использования кластера: getMarkers() Получает массив маркеров в кластеризаторе.

Для всех маркеров на карте используйте: getTotalMarkers() Получает массив маркеров в кластеризаторе.

person Aaron Aceves    schedule 04.11.2016

API Карт Google v3:

Я инициализировал карту Google и добавил к ней маркеры. Позже я хотел получить все маркеры и сделал это, просто обратившись к свойству карты «маркеры».

var map = new GMaps({
    div: '#map',
    lat: 40.730610,
    lng: -73.935242,
});

var myMarkers = map.markers;

Вы можете перебрать его и получить доступ ко всем методам маркера, перечисленным в Справочник по Google Картам.

person TommyZG    schedule 04.02.2018