Клуб API Карт

Заголовок не указан

vlakostenk
29 июня 2009, 14:29

Вопрос о группировке близко стоящих значков уже подымался (http://clubs.ya.ru/mapsapi/replies.xml?item_no=3815). Предложенное использование Диспетчера объектов - на мой взгляд не помогает.

Все-таки - близстоящие на карте метки начинают друг-друга перекрывать. Увеличение масшаба отображения карты вопрос не решает, т.к. уползают за пределы карты другие метки. Оптимально было бы конечно, чтобы был механизм создания автоматом общей метки по нескольким близкостоящим точкам. Или как вариант механизм разнесения нескольких меток "в пространстве карты" - за счет изменения их размера (так чтобы они выглядывали друг за другом и была возможность за счет этого дотянуться до них мышом).


Коллеги  - кто-нибудь нашел приемлемые варианты решения такой проблемы?

2 комментария
Подписаться на комментарии к посту
Диспетчер объектов сам не умеет групировать, ему просто можно сообщить, с какого масштаба можно начинать показывать объект.

Я решил эту задачу. Это реализоано вот здесь: http://nano.yandex.ru/project/airplane/map.html
Объекты кластеризуются по расстоянии друг от друга. Алгоритм примерно такой:
1. Всем обьектам назначает порог показа 0 (т.е. показывать всегда)
2. N=1
3. Пробегаемся по всем обьектам, находим обьекты, расстояние 4. Уменьшаем расстояние поиска 2 два раза (т.е. становится 1000 км)
5. if (N
если более детаельно, то за один проход один обьект на "схлопываю" больше одного раза.

В исходном коде не ищите, у меня это реализовано server-side. Но нет проблем реализовать и на стороне клиента.