Клуб API Карт

Ближайшие станции метро

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

Добрый день! Использую вывод карты на 2.0 версии. 

Как мне вывести информацию о ближайших станциях метро и расстояние до них?

 В документации нашел такой вариант

var metro = new ymaps.Metro.Closest(new ymaps.GeoPoint(координаты), { results : 3 } ); 

но он выдает ошибку

"Не удалось получить значение свойства "Closest": значением объекта является NULL или он не определен"

 

Я так понял, это работает только в предыдущей версии апи?

 

Карту вызываю как

ymaps.ready(function () {
var myMap = new ymaps.Map("YMapsID", {

....и пошли

}

}); 

8 комментариев
Sergey Konstantinov
28 января 2016, 03:52
ymaps.geocode(координаты, { kind: metro }).then(function (res) {
...
});

Спасибо, что-то начал получать. Я совсем плохо понимаю в этом APi видимо, вы не подскажете еще что мне делать с res внутри функции успешного запроса? Это геообъект? я так и не смог понять как его разложить.

 

var nearestM=res.geoObjects.get(0);
alert(nearestM.properties.get('text')); 

 

выводит вообще какую-то ерунду... Адрес в казахстане, хотя координаты Питерские.

возможно у вас неправильный порядок координат (настраивается параметром "coordorder" при подключении АПИ &coordorder=latlong | longlat

 по-умолчанию порядок "latlong" соответственно координаты долны быть в формате [lat, long], т.е.

например для Москвы будет [55.753559, 37.609218]

и обязательно сами координаты должны быть типа Number, а не String


ymaps.geocode([55.753559, 37.609218], { kind: metro }).then(function (res) {
...
});

Написал в теле

             var nearest = res.geoObjects.get(0);
             var name = nearest.properties.get('name');
где посмотреть какие есть поля? хочется получить только название метро и расстояние.

nearest.properties.getAll()

Удалённый пользователь
28 января 2016, 03:52

В параметрах отсутствует расстояние.

Кстати, как проще всего получить список ближайших метро в радиусе, например, километра, от заданных координат?

Спасибо)

здрасвуйте такой же запрос можно сделать для приложения на ios? спасибо за ответ
Alexander Ivanov
29 мая, 17:13
Поиск через REST


@apikey=5e02bdb7-xxxx-xxxx-xxxx-xxxx
@geocode=37.609218,55.753559
@kind=metro
@format=json
GET https://geocode-maps.yandex.ru/1.x/?apikey={{apikey}}&geocode={{geocode}}&kind={{kind}}&format={{format}} HTTP/1.1


Вернет объект с описанием
Дока https://yandex.ru/dev/geocode/doc/ru/request