Клуб API Карт

Проблемы с опцией boundedBy (геокодирование)

ruadze.anastasia
16 марта 2014, 18:06

Код для получения координат:

 

ymaps.geocode( addr_val , {

        //boundedBy: myMap.getBounds( city_addr ),
        //strictBounds: true,
        results: 1
    }).then(function (res) {
        // Выбираем первый результат геокодирования.
            firstGeoObject = res.geoObjects.get(0);
}
})
Нужно получить координаты по двум адресам (2 варианта, не за раз):
  1. Россия, Ленинградская область, Санкт-Петербург, Звенигородская  9
  2. Россия, Вологодская область, Вологда, Марии ульяновой, 3
Получается так, что по 1-му адресу можно получить координаты только если раскомментировать опции boundedBy и strictBounds,
а по 2-му адресу только если закомментировать эти опции.
Проблемы:
  1. С 1-м адресом возвращается несколько объектов, соответственно выбирается не тот, который нужен (если закомментировать).
  2. Со 2-м адресом пишет, что firstGeoObject is null (если раскомментировать).

В общем, нужно что-то универсальное...

Подскажите, пожалуйста, как решить проблемы?

3 комментария
Подписаться на комментарии к посту

myMap.getBounds надо вызывать без параметров.

 

1. Если из запроса убрать "Ленинградская область" то вернется один ответ.

2. Видимо искомый адрес не находится в зоне видимости карты (может стоит ее увеличить или убрать strictBounds: true)

 

Универсальных решений нет.

А как можно указать координаты области видимости для boundedBy?

Ограничивающая область описывается массивом из 2-х координат - нижнего левого угла и правого верхнего угла

[ [_bottom_left_lat_, _bottom_left_lon_], [_top_right_lat_, _top_right_lon_] ]