Клуб API Карт

Геокодирование - получить детали адреса.

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

Пожалуйста, помогите понять.

ymaps.geocode(address).then(function (objnames) {
    var names = [];
    names[0] = objnames.geoObjects.get(0).properties.get('name');
    result = names[0];
});

Если я пишу .properties.get('name'); то получаю название улицы и дом, а как мне получить район, что нужно писать вместо 'name' для получения района или округа?

И какие части адреса я ещё могу получить таким образом?

7 комментариев
Андрей Грэй
28 января 2016, 02:32

http://api.yandex.ru/maps/doc/jsapi/2.x-stable/ref/reference/geocode.xml

Параметр kind при запросе поможет.

Кстати, параметр kind имеет смысл только при обратном геокодировании, а при прямом - бесполезен.

Давай я научу тебя пользоваться документацией...

В поле properties у геообъекта лежит экземпляр менеджера данных.

У него есть задокументированные методы,

Один из них, а именно getAll вернет тебе все поля данных ввиде javascript-объекта.

 

Попробуй, и ты увидишь все что можно получить:

console.log(objnames.geoObjects.get(0).properties.getAll());

 

Так же есть поддержка синтаксиса точечной нотации и второй параметр - значение по-умолчанию,

если по строковому пути объект не найден

properties.get('metaDataProperty.GeocoderMetaData.AddressDetails', myDefaultAddressDetails);

Спасибо огромное, метод getAll() через консоль, действительно всё разъяснил. Всё очень удобно и прекрасно работает.

JavaScript я только начал изучать, по этому с документацией к сожалению не разобрался, в ней очень мало примеров. А в начале обучения, описание без примера - это как книга без картинок :D

примеры есть в песочнице

примеры есть в блоге

В справочнике примеры местами тоже есть, но вообще справочник, он для того чтобы ознакомиться с сигнатурой классов, и свою задачу он решает.

 

Справочник содержит описания открытых классов и методов API и рассчитан на разработчиков, знакомых с JavaScript и сервисом Яндекс.Карты. Классы перечислены в алфавитном порядке.

видит око да зуб неймет.

подскажите, пожалуйста.

вот вываливает мне по точке, а как достать по отдельности все детали адреса? особенно интересует как например обратиться к "5-й микрорайон" и "район Савелки" или "Зеленоградский административный округ":

 {"response":{"Attribution":"","GeoObjectCollection":{"metaDataProperty":{"GeocoderResponseMetaData":{"request":"55.99873498670997,37.223017957672084","found":"10","results":"10","Point":{"pos":"37.223018 55.998735"}}},"featureMember":[

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"house","text":"Россия, Москва, Зеленоград, улица Юности, 5","precision":"exact","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоград, улица Юности, 5","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"LocalityName":"Зеленоград","Thoroughfare":{"ThoroughfareName":"улица Юности","Premise":{"PremiseNumber":"5"}}}}}}}}},"description":"Зеленоград, Москва, Россия","name":"улица Юности, 5","boundedBy":{"Envelope":{"lowerCorner":"37.214768 55.994265","upperCorner":"37.231225 56.003487"}},"Point":{"pos":"37.222996 55.998876"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"street","text":"Россия, Москва, Зеленоград, улица Юности","precision":"street","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоград, улица Юности","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"LocalityName":"Зеленоград","Thoroughfare":{"ThoroughfareName":"улица Юности"}}}}}}}},"description":"Зеленоград, Москва, Россия","name":"улица Юности","boundedBy":{"Envelope":{"lowerCorner":"37.20945 55.995377","upperCorner":"37.231342 56.001277"}},"Point":{"pos":"37.220616 55.999234"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"district","text":"Россия, Москва, Зеленоград, 5-й микрорайон","precision":"other","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоград, 5-й микрорайон","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"LocalityName":"Зеленоград","DependentLocality":{"DependentLocalityName":"5-й микрорайон"}}}}}}}},"description":"Зеленоград, Москва, Россия","name":"5-й микрорайон","boundedBy":{"Envelope":{"lowerCorner":"37.211911 55.995639","upperCorner":"37.240549 56.005591"}},"Point":{"pos":"37.226652 56.001257"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"district","text":"Россия, Москва, Зеленоградский административный округ, район Савелки","precision":"other","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоградский административный округ, район Савелки","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"DependentLocality":{"DependentLocalityName":"Зеленоградский административный округ","DependentLocality":{"DependentLocalityName":"район Савелки"}}}}}}}}},"description":"Зеленоградский административный округ, Москва, Россия","name":"район Савелки","boundedBy":{"Envelope":{"lowerCorner":"37.207887 55.967008","upperCorner":"37.268236 56.013211"}},"Point":{"pos":"37.238016 55.989915"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"district","text":"Россия, Москва, Зеленоградский административный округ","precision":"other","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоградский административный округ","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"DependentLocality":{"DependentLocalityName":"Зеленоградский административный округ"}}}}}}}},"description":"Москва, Россия","name":"Зеленоградский административный округ","boundedBy":{"Envelope":{"lowerCorner":"37.131647 55.947797","upperCorner":"37.268236 56.021327"}},"Point":{"pos":"37.194250 55.987583"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"locality","text":"Россия, Москва, Зеленоград","precision":"other","AddressDetails":{"Country":{"AddressLine":"Москва, Зеленоград","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва","Locality":{"LocalityName":"Зеленоград"}}}}}}},"description":"Москва, Россия","name":"Зеленоград","boundedBy":{"Envelope":{"lowerCorner":"37.131647 55.947797","upperCorner":"37.268236 56.021327"}},"Point":{"pos":"37.214382 55.991893"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"province","text":"Россия, Москва","precision":"other","AddressDetails":{"Country":{"AddressLine":"Москва","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Москва"}}}}}},"description":"Россия","name":"Москва","boundedBy":{"Envelope":{"lowerCorner":"36.803259 55.142627","upperCorner":"37.967682 56.021327"}},"Point":{"pos":"37.622504 55.753215"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"province","text":"Россия, Московская область","precision":"other","AddressDetails":{"Country":{"AddressLine":"Московская область","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ","SubAdministrativeArea":{"SubAdministrativeAreaName":"Московская область"}}}}}},"description":"Россия","name":"Московская область","boundedBy":{"Envelope":{"lowerCorner":"35.144106 54.255661","upperCorner":"40.204855 56.96132"}},"Point":{"pos":"37.380031 55.815792"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"province","text":"Россия, Центральный федеральный округ","precision":"other","AddressDetails":{"Country":{"AddressLine":"Центральный федеральный округ","CountryNameCode":"RU","CountryName":"Россия","AdministrativeArea":{"AdministrativeAreaName":"Центральный федеральный округ"}}}}},"description":"Россия","name":"Центральный федеральный округ","boundedBy":{"Envelope":{"lowerCorner":"30.750266 49.556986","upperCorner":"47.641729 59.625172"}},"Point":{"pos":"38.064718 54.873745"}}},

 

{"GeoObject":{"metaDataProperty":{"GeocoderMetaData":{"kind":"country","text":"Россия","precision":"other","AddressDetails":{"Country":{"CountryNameCode":"RU","CountryName":"Россия"}}}},"name":"Россия","boundedBy":{"Envelope":{"lowerCorner":"19.484764 41.18599","upperCorner":"191.204665 81.886117"}},"Point":{"pos":"99.505405 61.698653"}}}]}}}

дядя Толя
11 июня 2023, 11:41
Как использовать kind? никак не пойму синтаксис
obj.getLocalities().kind=district

я уже по всякому пробовал и options  и в скобках передавать. - без параметров возвращает Город. В документации  нет примера.
Обновлено 11 июня 2023, 11:42