Клуб API Карт

Выдает микрорайон вместо района города! Как получать только район?

yunus-d
28 декабря 2016, 02:48

При обратном geocode из kind:'district' получаю в некоторых районах города название района, а в некоторых микрорайон. Важно получать только районы. Можно ли как-то настроить?

4 комментария
Подписаться на комментарии к посту
Там иерархия должна возвращаеться, если только вы не один результат запрашиваете
dimik,
Да, кажется один первый:
ymaps.ready(get_district);
function get_district() {
ymaps.geocode('казань широкая 2', { results: 1 }).then(function (res) {
var coords = res.geoObjects.get(0).geometry.getCoordinates();
ymaps.geocode(coords, {kind: 'district'}).then(res => res.geoObjects.get(0).getLocalities()).then(city => $('#city').append(`Район: ${city}`));
},
function (err) { alert(err.message); })
}
// Казань,микрорайон Адмиралтейская Слобода
Подскажите, как вывести иерархию?
yunus-d,
Убрать results: 1 
и перебирать все объекты, пока не обнаружите тот что нужен 
Получилось, если кому-то будет нужно: 


ymaps.ready(get_district); //запускаем 
function get_district() { 
    ymaps.geocode('казань московская 1').then(function (res) {

        var coords = res.geoObjects.get(0).geometry.getCoordinates(); // получаем координаты

        ymaps.geocode(coords, {kind:"district"}).then(function (res) { //вставляем координаты

            var district = res.geoObjects.get(1).getLocalities()[1]; //выбираем второй объект, второе значение данных

            $('#district').text(district); // отправляем данные
            $("#coords").text(coords);
        });
    });

Тут вывод данных
<div id="district"></div>
<div id="coords"></div>
Обновлено 3 января, 14:01