3

Я использую Gmaps V3 с MarkerClusterer от http://code.google.com/p/gmaps-utility-library-dev/Свернуто маркеры на картах Google с MarkerClusterer

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

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

ответ

3

Ответить на комментарий OP в моем предыдущем ответе, как это Ждут» t помещается в поле комментариев:

Это предотвращает группировку кластеров от маркеров, но когда координаты идентичны, все маркеры остаются на одном уровне друг с другом. Знаете ли вы об этом?

Я думаю, что это ожидаемое поведение с картами Google - если маркеры имеют точно такой же lat/lng, то вы получаете маркеры друг на друга.

Возможным обходным путем является только добавление первого маркера к карте, а затем, когда вы пытаетесь добавить еще один маркер в уже установленный lat/lng (отслеживать их с помощью карты JS), вы можете добавить счет (или создать массив информации о маркерах) и обновить текст инфоиндуста с помощью этой информации. Например. нажав на маркер, вы увидите сообщение о том, что в этом месте есть 15 «вещей», а затем перечислите их имена и атрибуты в списке под ним ...

Другая возможность - «смять» последующие маркеры, добавив случайное число до конца десятичной лат/lng. Таким образом, когда пользователь полностью масштабирует, маркеры будут слегка смещены. Этот вариант кажется немного «грязным».

+0

Я согласен с тем, что 'чувствует себя немного" грязным ", и это как это делается в настоящее время. Я ожидал, что GMaps будет достаточно умным, чтобы группировать свернутые маркеры, но кажется, что это нужно сделать вручную. Спасибо. – RocketR

+0

Если вы идете с первой опцией, то другой приятный трюк заключается в использовании пользовательского изображения маркера, чтобы указать, что в этой позиции есть несколько объектов (например, как показано здесь: http://collections.ala.org.au/). – nickdos

0

При добавлении маркера вы можете проверить, есть ли другие маркеры в том же месте, а в этом случае вы можете заметить, что есть несколько маркеров.

+0

Во-первых, как я уже писал, я проверяю при добавлении маркера и рандомизации его местоположения, если оно уже выполнено. Но рандомы также могут оказаться в одной и той же точке. Во-вторых, MarkerClusterer показывает информационное окно только для одного маркера, а не для группы маркеров. Вы знаете, как это поведение можно изменить? – RocketR

4

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

var markerCluster = new MarkerClusterer(map, markers, { maxZoom: 18 }); 
+0

Спасибо. Это не позволяет кластеру группировать маркеры, но когда координаты идентичны, все маркеры остаются на одном уровне друг с другом. Знаете ли вы об этом? – RocketR

+0

См. Мой другой ответ: http://stackoverflow.com/questions/4111080/collapsed-markers-on-google-maps-with-markerclusterer/6922324#6922324 – nickdos