Клуб API Карт

динамический список видимых объектов на карте

lolobrigit
16 марта 2015, 14:32

Друзья, может у кого есть пример реализации вывода результатов отображения видимых объектов карты (точек) в виде списка.

Такая реализация представлена на яндекс картах при поиске объектов, при увеличении масштаба или перемещении карты, список изменяется.

Заранее спасибо.

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

Спасибо большое, отличный пример, правда остался один вопрос я использую файл с точками json где заданы preset, как я могу сохранить preset, которые задаются в файле?

------------------------------------------------------------------

Решил проблема с определением типа точки по дополнительному параметру и присвоением ему нужного пресета, а так же присвоения zindex, что бы выделеная точка была сверху

Теперь задался вопросом, как можно заставить это работать если еще используется кластер.

Точнее, что бы к примеру до увеличения в 12 выводились точки кластером и список не выводился, а если увеличение больше, то кластер отключался и выводился список точек.

------------------

Со списком разобрался , добавил определение Увеличения https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/Map-docpage/#event-boundschange

и при изменении передаю в переменную и добавил провекру переменной в вывод listView.append();

А вот как кластер создавать и удалять не очень пойму.

------------------------------------------------------------------------------

Еще вопрос, сделал плавный переход panTo и пытаюсь добавить открытие балуна по клику на пункте списка:

                        click: function (e) {  e.preventDefault();
                            myMap.panTo($(e.currentTarget).data('geoObject').geometry.getCoordinates());

 myMap.balloon.open($(e.currentTarget).data('geoObject').geometry.getCoordinates(),$(e.currentTarget).data('geoObject').properties.get('balloonContentBody'))
                        }

Балун прекрасно открывается, но перестает работать panTo, пытался сделать задержку через setTimeout Но не работает.

Так же пробовал:

myMap.panTo($(e.currentTarget).data('geoObject').geometry.getCoordinates(),  {callback: function () {  myMap.balloon.open($(e.currentTarget).data('geoObject').geometry.getCoordinates(),$(e.currentTarget).data('geoObject').properties.get('balloonContentBody'));
 }});