Добрый день
Мне нужно получить раздельные данные по текущему местоположению метки (страна, город, улица, дом).
placemark.events.add("dragend", function(e){
ymap_coordinates(e.get('t
});
При окончании перетаскивания - передаю новые координаты в ymaps.geocode и получаю данные по новым координатам (такие как улица, город, страна)
function ymap_coordinates(coordinates){
var myGeocoder = ymaps.geocode(coordinates, {results: 1, kind: 'house'});
myGeocoder.then(
function (res) {
console.log(res)
var data = res.geoObjects.get(0);
if(data !== null){
console.log(data.properties.getAll());
}
},
function (err) {
// обработка ошибки
}
);
}
Все данные что пришли смотрю таким способом console.log(data.properties.getAll());
Проблема в том что данные возвращаются в обобщенном виде, все в купе, мне же нужно распихать все в разные поля, раздельно: страну, город, улицу и дом (если есть)
{
balloonContentBody: "<h3>улица Остоженка, 12/1с1</h3><p>Россия, Москва</p>",
boundedBy: Array[2],
description: "Россия, Москва",
metaDataProperty: Object,
name: "улица Остоженка, 12/1с1",
text: "Россия, Москва, улица Остоженка, 12/1с1"
}
Разбивать поле text по запятым не вариант потомучто во всех адресах она разная, в Украине например вот такое
text: "Украина, Одесская область, Одесса, Приморский район, Пироговская улица, 27"
В недрах обьекта metaDataProperty можно добраться до всех этих данных в отдельных полях, но там просто безумная вложенность
Вот так например можно получить название города
data.properties.getAll().
а вот так номер дома в Одессе
data.properties.getAll().
Но в россии такой трюк уже не сработал, там путь немного другой.
В документации вижу что можно можно вытаскивать данные в таком виде: data.properties.get('name')
но чтото не вижу методов для вытаскивания конкретного значения, скажем, города.
Как это можно сделать?