Клуб API Карт

Масштабирование при поиске

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

Если воспользоваться стандартным контролом поиска, то найденный результат правильно масштабируется. Т. е. при поиске города на карту целиком вмещается город, при поиске улицы на всю карту видна улица и т. д. Однако при использовании setBounds правильного масштаба добиться не удаётся:

 

myMap = new ymaps.Map('map', {
    center: [54.51219, 36.25741],
    zoom: 15,
    behaviors: ['drag', 'scrollZoom'],
    type: 'yandex#publicMap',
    avoidFractionalZoom: false
});
ymaps.geocode('Калуга', {
    results: 1
}).then(function (res) {
    myMap.setBounds(res.geoObjects.get(0).geometry.getBounds(), {
        checkZoomRange: true
    });
}

 

При использовании такого кода масштаб найденного объекта гораздо крупнее, чем нужно. Это баг API или есть способ добиться корректного результата?

3 комментария
попробуй так:
myMap.setBounds(res.geoObjects.get(0).properties.get("boundedBy"));

Спасибо, заработало.

Только я тогда не понимаю — какие размеры geometry.getBounds() возвращает?

для "точечного" геообъекта, такого как дом, оно вернет 2 одинаковые точки