Клуб API Карт

ObjectManager, json, меню коллекции.

sergey@p2i.ru
29 июля 2015, 09:19

Здравствуйте!

Использую пример https://tech.yandex.ru/maps/jsbox/2.1/object_manager, возвращаю из базы json, все отлично работает. Захотелось сделать меню по группам, примера работы с json не нашел, есть пример object_list, там меню цепляется из group.js, сделал выгрузку своих объектов (300 штук) и песочница подвисла на 3 минуты с 2 остановками на отладку. В итоге все отобразилось, но время!!!

Есть ли возможность из json сделать меню? МБ, есть пример?

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

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

Возможность есть, примера нет.

Что именно не получается с ОМ?

Подвиснуть могло в том числе из-за создания большого количества DOM объектов. Если у вас много точек генерить меню сразу для всех слишком дорого

Подвиснуть могло в том числе из-за создания большого количества DOM объектов. Если у вас много точек генерить меню сразу для всех слишком дорого

Согласен.

Что именно не получается с ОМ?

Ничего не получается). Не могу разобрать json и достучаться до элементов.

Например, как получить properties.type?

JSon:

{"type":"FeatureCollection","features":[{"type":"Feature","id":"1","geometry":{"type":"Point","coordinates":[55.7863096,37.5078345]},"properties":{"balloonContent":"
точка","clusterCaption":"точка","hintContent":"точка","type":"magazine"}}]}

Так можно фильтровать:

objectManager.setFilter('properties.type== "magazine"');

Используйте JavaScript это же обычный объект

Не могу достучаться до properties:

$(function(){
    $.getJSON('data.json', function(data) {
        alert(data.features[0].type); = Feature

        alert(data.features[0].geometry[0].type); = Undefine

        alert(data.geometry.type); = Undefined
      
    });
});

geometry это объект, а не массив

console.log(data.features[0].geometry.type);

Спасибо, пока все получается.