Клуб API Карт

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

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

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

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

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

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

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

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

.then(function (res) {

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

})

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

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

Егор Вавилов
28 января 2016, 04:17

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

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

Егор Вавилов
28 января 2016, 04:17

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

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

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

Егор Вавилов
28 января 2016, 04:17

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