Клуб API Карт

Отображение маркеров только в видимой области

praeses777
25 сентября 2012, 00:04

Всем привет.

Собственно вопрос из сабжа. Возможно не докопал док-и.

Кто-то может подсказать?

 

Спасибо!

6 комментариев
Подписаться на комментарии к посту

а зачем?

какую задачу вы решаете?

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

А кластеризатор не хотите использовать?

Не хотелось бы. Интуитивно для пользователя не понятно, проверяли.

Во-вторых полностью кастомизировать кластеры надо под 20 типов иконок.

Иконки кластеров можно создавать не только из картинок, но и из элементов, а кастомизировать с помощью с css как душе угодно без особого труда.

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

Можно выводить самим в слой, но это все тоже самое, что выше, только еще и за слоем надо будет следить, евенты ловить.

Вообще, посмотрите вот тут: http://habrahabr.ru/post/145832/ http://maps.1cs.su/

Но я все равно не могу понять, как вы будете разруливать конфликты при отображении — они же наезжать друг на друга будут... Как ни крути — нужна группировка. Группировка — кластер. Не нравится его вид — так он легко кастомизируется.

Самое оптимальное решение с точки зрения производительности и траффика - активные области

Но эта технология требует соотв. серверной части

Все ваши метки должны быть растеризованы на тайлах на всех масштабах, и также по-тайлово должно подгружаться описание пиксельных геометрий этих объектов.

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