Я кодирую представление карты приблизительно с 900 аннотациями. Наличие этого, которое много аннотаций на карту заставляют производительность перенести, таким образом, я хотел бы уменьшить его приблизительно до 300 за один раз. Аннотации представляют магазины в стране, таким образом, они имеют тенденцию кластеризироваться много вокруг крупнейших городов, затем в небольших группах 2 или 3 в меньших городах. Я хочу сократить количество так, чтобы группы 2 или 3 были оставлены в покое, но числа в городе разбавлены (они так близко друг к другу, что они не предлагают полезной информации).
В изображении Вы видите, что существует несколько больших групп (Токио, Нагоя и Осака), который я хочу сократить. Но с контактами самостоятельно или в небольших группах, я хочу удостовериться, что они не становятся фильтрованными. Как только я увеличиваю масштаб, я хочу показать недостающие контакты.
Кто-либо знает некоторого хорошего кода, что я могу использовать, так, чтобы точки, которые являются близко друг к другу, были устранены, но более распространенные оставлены в покое?
сопроводительный текст http://img.skitch.com/20100204-jpde6wugc94nn692k7m36gmqf1.jpg
Один из подходов заключается в том, что перед размещением нового пин-кода проверьте, не находится ли уже другой пин-код на расстоянии d от нового пин-кода. Если есть, не размещайте новый штифт. Вы должны варьировать d в зависимости от текущего уровня масштабирования.
Вы можете уменьшить количество проверяемых контактов, рассматривая только контакты в окошке с центром по центру нового контакта. Окно может иметь размер d x d градусов по бокам (при этом d изменяется в зависимости от уровня масштабирования).
Учитывая, что многие булавки в густонаселенных районах будут находиться на одной и той же улице, можно было бы подумать о том, чтобы сделать "супербулавки", которые перечисляют булавки на определенной улице, а не на каждом индивидуальном адресе.
-S!
Я могу придумать два варианта: