Клуб API Карт

Параметр для properties.get()

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

Здравствуйте!

Нашёл вот такой пример.


searchControl.search('Москва').then(function (geoObjectsArr) {
// geoObjectsArr - это массив геообъектов, содержащий результаты запроса.

// выводит свойство name первого геообъекта из результатов запроса

alert(geoObjectsArr[0].properties.get('name')) ; }) ;


Немного его изменил


searchControl.search('Красноярский край '+this.value).then(function (geoObjectsArr) {
alert(geoObjectsArr[0].properties.get('name')) ; }) ;


Вопрос в следующем, как мне вывести в качестве результата ещё и город, в котором его нашёл. Другими словами, что нужно прописать вместо name. Может плохо искал, но почему-то нигде не нашёл :-(

Если я ищу по запросу "Мира", то выдаёт:
проспект Мира

А нужно:
проспект мира,г.Красноярск

2 комментария

Если посмотреть в документацию (это иногда полезно),

то можно увидеть что у геообъекта в поле properties

лежит экземпляр менеджера данных, и у него есть метод getAll,

который вернет тебе объект со всеми возможными значениями полей данных.

 

console.log(geoObjectsArr[0].properties.getAll());

Далее ты можешь взять одно из устраивающих тебя полей напрямую через метод get

 

geoObjectsArr[0].properties.get('metaDataProperty.GeocoderMetaData.AddressDetails.Country.AddressLine');
или
geoObjectsArr[0].properties.get('text');
или
geoObjectsArr[0].properties.get('description');
и т.д.
Спасибо огромное, видать не внимательно читал :-(