Клуб API Карт

ограничить выборку

Пост в архиве.

всем привет

с класетризацией для своеих 1000 точек по Москве я разобрался

но теперь надо реализоват локальный показ для каждого метро

вопрос: можно ли программным способом ограничть показ точек в определеной зоне

ну, типа: xml-файл на все 1000 точек, но в слое отображать только ближайшие к координате 10-15 штук

9 комментариев
Павел Васин
28 января 2016, 00:37

сам разобрался

работает вот так =

ymaps.geoXml.load('http://mysite.ru/qwe.xml?'+timestamp)
    .then(function (res){

        var clusterer = ymaps.geoQuery(res.geoObjects)
                .searchInside(map)
                .clusterize();

        clusterer.options.set({
            preset: 'twirl#invertedVioletClusterIcons',
            gridSize: 230,
            groupByCoordinates: false,
            clusterDisableClickZoom: false
        });

        map.geoObjects.add(clusterer) ;   

});

может кому пригодится

var obj = res.geoObjects;

зачем это?

 

Ограничить наверное лучше на сервере (всмысле не присылать лишнее)

Зачем присылать всё чтобы показать 5%?

Павел Васин
28 января 2016, 00:37

поправил :)

эхххх... придется вручную отбирать точки у метро

По расстоянию можно же выбрать

Павел Васин
28 января 2016, 00:37

не понял = как - по расстоянию?

из одного большого xml-файла?

или выборка на уровне ymaps.geoXml.load?

посяните, плиз!

Можно использовать что-то типа http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/GeoQueryResult.xml#sortByDistance

либо самому написать фильтр, который выберет точки в заданном радиусе радиусе от какого то центра

Павел Васин
28 января 2016, 00:37

но ведь все равно придется грузить полный xml на 1000 точек в ymaps.geoXml.load

добавлять их на карту, а потом уже делать сортБай = Метод, позволяющий получить выборку, содержащую объекты, отсортированные по расстоянию до указанного объекта. Обратите внимание, что многие геообъекты требуют добавления на карту для корректных расчетов. Не изменяет исходную выборку.

Ну делайте это на сервере, есть же spatial indexes в MySQL 

Павел Васин
28 января 2016, 00:37

нужно попробовать

спасибо за подсказку