Клуб API Карт

(API 2.0) как получить все станции метро без лимита?

AntiMandron
28 мая 2014, 14:02
    myMap.geoObjects.add(myBalloon);
    ymaps.geocode(coords, {
        kind: 'metro',
        results: 1000
    }).then(function (res) {
        res.geoObjects.options.set('preset', 'twirl#metroMoscowIcon');
        myMap.geoObjects.add(res.geoObjects);
    });
выводит не больше 90 станций, реально ли получить все?
3 комментария
Подписаться на комментарии к посту

Посмотрите в поле res.metaData.geocoder.

Если в нем стоит 90, то значит вам показались дейсвительно все найденные станции.

Если в нем стоит большее число, значит нашлось много станций, но в ответе вам пришло только 90 штук.

Во втором случае поможет многократный вызов geocode с параметром skip

если быть точнее, то 86 станций

даже если сделал так:

 

for (var i = 0; i < 101; i++) {
var s = i * 10;
ymaps.geocode(coords, {kind: 'metro', results: 10, skip : s}).then(function (res)
{
res.geoObjects.each(function (obj) {
console.log(res.metaData.geocoder);

...

});
});
}

тоже 86 получается, а должно быть больше 150

Поиск метро через геокодер работает с ограниченной по умолчанию зоной поиска.

Нет такого кейса – получить все станции. Есть кейс – получить ближайшие станции вокруг точки.

Зачем вам нужны все станции?