2010-04-05 3 views
49

Есть ли способ получить все маркеры на Картах Google?Как получить все маркеры на google-maps-v3

+0

Не могли бы вы рассказать о том, что вы пытаетесь сделать. Также, если у вас есть какой-либо код, разместите его, чтобы мы могли помочь вам придумать решение, а не просто дать вам код. – Voltin

+0

[очень полезная ссылка на эту тему] (https://developers.google.com/maps/documentation/javascript/examples/marker-remove) –

+0

@ zjm1126 ... возможно, вы можете ответить на вопрос Вольтина в комментарии когда-нибудь в течение следующие три года? И дайте нам знать, есть ли лучший ответ среди опубликованных. Если нет, пожалуйста, подтвердите свой ответ. Я предполагаю, что после получения 14k rep вы можете ответить на ваш собственный вопрос к настоящему времени; -P – ZF007

ответ

0

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

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

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

Мой лучший совет, чтобы взглянуть на эту статью & принял ответ, чтобы понять принципы создания карты с множеством маркеров: Display multiple markers on a map with their own info windows

1

Один способ нашел это использовать geoXML3 библиотеку, которая подходит для использование вместе с процессором KML версии 3 API JavaScript Google Maps.

63

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

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

Затем вы можете цикл над allMarkers массивом и сделать что бы вы ни делали.

+7

просто хотите проверить, действительно ли это актуально на сегодняшний день или есть поддержка, чтобы получить маркеры из карта сейчас? – ItayB

+3

все еще актуально, похоже, что нет другого пути, если вы не сохраните маркеры в определенном массиве, определенном самим –

-2

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

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

+0

$ (...). Gmap не является функцией – djdance

-2

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

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

0

Google Maps API v3:

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

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

var myMarkers = map.markers; 

Вы можете цикл над ним и получить доступ ко всем методам Marker, перечисленные в Google Maps Reference.

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