Клуб API Карт

Заголовок не указан

Пост в архиве.
shecspi
1 июля 2012, 10:18

Можно ли получить в результат геокодирования не массив с данными о точке, а только город или только улицу?

7 комментариев

Геокодер всегда возвращает коллекцию

Можно передать ему в опциях results : 1

и объект в коллекции будет только один.

Ну и ты можешь просто взять первый объект из коллекции и работать с ним, а не с коллекцией

.then(function (res) {

    var firstGeoObject = res.geoObjects.get(0);

})

конкретные поля (название страны, города и т.п.) геообъекта из ответа геокодера можно так:

res.geoObjects.get(0).properties.get('AddressDetails');

Но что будет в этом объекте заранее неизвестно. Это может быть улица, может быть район, город или вообще страна. Значит на стороне Яндекс.Карт нет такого разделения? Жаль.

Там будет описание объекта согласно стандарту xAL

А как к нему получить доступ? res.geoObjects.get(0).properties.get('AddressDetails') возвращает undefined

да, извини, я позабыл что он там поглубже лежит

console.log(res.geoObjects.get(0).properties.get('metaDataProperty.GeocoderMetaData.AddressDetails'));

Всё, понял. Большое спасибо ;)