Распространение маркеров по мере необходимости в Google Maps - PullRequest
0 голосов
/ 05 февраля 2011

Я отображаю одновременно много (сотен) маркеров в заданном окне просмотра в Картах Google.Часто это приводит к тому, что маркеры накладываются друг на друга.

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

И да, я знаю о группировках, кластеризации маркеров и т. Д. Эти решения не подходятМоя ситуация, так как важно, чтобы все маркеры отображались постоянно.И на самом деле, я уже использую эти методы, где это уместно.Я использую Javascript V3 API.

1 Ответ

2 голосов
/ 05 февраля 2011

Возможно, вам нужно реализовать свой собственный алгоритм кластеризации - я думаю, что Google Maps позволяют вам реализовать свою собственную стратегию (я знаю, что Bing Maps делает, и обычно они копируют друг друга в течение примерно 6 месяцев после внедрения новой функции). 1001 *

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

Что касается стратегии, моя первая мысль - алгоритм отжига, хотя, вероятно, он не очень быстрый. По сути, каждая канцелярская кнопка будет воздействовать на окружающие канцелярские кнопки на определенном расстоянии. повторять до тех пор, пока не станет достаточно стабильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...