Клуб API Карт

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

limo-alliance
16 августа 2012, 12:30

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

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

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

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

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

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

 

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

 

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

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

....и пошли

}

}); 

6 комментариев
Подписаться на комментарии к посту
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()

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

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

Спасибо)