Клуб API Карт

Зависание браузера на большом кол-ве объектов

Удалённый пользователь
1 июня 2015, 17:20

Строго говоря, объектов не так уж и много, 3500. Но при попытке добавить их в геоколлекцию и вывести эту коллекцию на карту браузер просто умирает.

 

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

 

Объекты приходят из отдельного файла в виде JSON:

 

Points.stores =  [{"id":"1", "name":"ТУТ ИМЯ", "lat":"55.751656", "lng":"37.71718", "descript":"ОПИСАНИЕ", "type":"ТИП", "sell":"1", "refill":"1" ,"refund":"0"},.....]

 

После создания карты, обычным образом создаю метки:

 

map = new ymaps.Map('map', {

            center: [55.754015, 37.618827],

            zoom: 15

        });

collection = new ymaps.GeoObjectCollection();

for (var i = 0; i < Points.stores.length; i++) {

            marker = new ymaps.Placemark([Points.stores[i].lat, Points.stores[i].lng], {

                    iconContent: i,

                    balloonContent: Points.stores[i].descript,

                    content: Points.stores[i].descript

                },{

                    preset: 'islands#blueStretchyIcon'

                });

              collection.add(marker); //вот тут все умирает

}

map.geoObjects.add(collection);

 

Пробовал создавать коллекции по запросу,  а не при инициализаии карты; вносить метки в атрибуты самих объектов Points, но работает хоть как-то только если уйти от коллекций. Где-то что-то я не замечаю. Прошу помощи.