Клуб API Карт

(API 2.0) поиск метро в ближайшем окружении, задать радиус

AntiMandron
27 мая 2014, 12:25

Здравствуйте! в прошлом api можно было иксать метро, задавая радиус поиска через span (размер области в градусах)

 

Сейчас в 2.0 я могу вывести 10 ближайших метро так, указав область поиска :

  

<script>
ymaps.ready(init);
function init() {
    coords = [55.753575000000, 37.621040000000];
    myMap = new ymaps.Map('map', {
        center: coords,
        zoom: 10
    });
    myBalloon = new ymaps.Placemark([55.753575000000, 37.621040000000], {
        balloonContentBody: ""
    }, {
        draggable: 0,
        preset: "twirl#greenStretchyIcon"
    });
    myMap.geoObjects.add(myBalloon);
    ymaps.geocode(coords, {
        kind: 'metro',
        results: 3
    }).then(function (res) {
        res.geoObjects.options.set('preset', 'twirl#metroMoscowIcon');
        myMap.geoObjects.add(res.geoObjects);
    });
}
</script>

 

Если я хочу задать радиус поиска, то создаю область поиска в виде окружности, и добавляю её в boundedBy, но почему-то ругается скрипт...

 
<script>
ymaps.ready(init);
function init() {
    coords = [55.753575000000, 37.621040000000];
    myMap = new ymaps.Map('map', {
        center: coords,
        zoom: 10
    });
    myBalloon = new ymaps.Placemark([55.753575000000, 37.621040000000], {
        balloonContentBody: ""
    }, {
        draggable: 0,
        preset: "twirl#greenStretchyIcon"
    });
    myMap.geoObjects.add(myBalloon);
    // область поиска
    var myCircle = new ymaps.GeoObject({
        geometry: {
            type: "Circle",
            coordinates: coords,
            radius: 3000
        }
    });
    ymaps.geocode(coords, {
        kind: 'metro',
        boundedBy: myCircle,
        results: 3
    }).then(function (res) {
        res.geoObjects.options.set('preset', 'twirl#metroMoscowIcon');
        myMap.geoObjects.add(res.geoObjects);
    });
}
</script>
 

как так?
4 комментария
Подписаться на комментарии к посту
options.boundedBy

Тип: Number[][]

 

Прямоугольная область на карте, в которой предположительно находится искомый объект.

а если нужно найти зная только радиус, то так получается в 2.0 никак нельзя?

Через геокодер можно запросить только прямоугольную область.

Потом при желании можно из полученных данных отфильтровать то что попадает в круг определенного радиуса

спасибо