Клуб API Карт

Прямое геокодирование - Принудительное зуммирование на 2 порядка

info@smartpos.kz
14 апреля 2015, 13:44

ДД! Все сделал как в этом примере https://tech.yandex.ru/maps/jsbox/2.1/direct_geocode

Только вот проблемка, при поиска адреса с указанным в нем, доме,  ( Пример, ул. Ленина дом 1  ),  идет зум общий 

т.е для меня хотелось бы чтобы зум был еще крупнее ( такой если бы я на интерфейсе нажал 2 раза на ZOOM ),

Вопрос! как добиться зуммирования программным путем, пробывал использовать myMap.setZoom(myMap.getZoom() + 2 ), ничего не происходит

 

p.s Насколько я понял, вот засчет этой строчки кода идет автозуммирование по региону bounds
 

 

myMap.setBounds(bounds, {

    checkZoomRange: true // проверяем наличие тайлов на данном масштабе.           

});

 

4 комментария
Подписаться на комментарии к посту
Всеволод Шмыров
14 апреля 2015, 14:24
Добрый день. А где вы вызываете myMap.setZoom(myMap.getZoom() + 2 ) ?

После setBounds

myMap.setBounds(bounds, {    checkZoomRange: true });
myMap.setZoom(myMap.getZoom() + 2 );


p.s Спасибо за быструю реакцию на мой вопрос!

Нее, так плохо – будет 2 перехода.

Лучше высчитать центр и масштаб и перейти один раз

 

var centerAndZoom = ymaps.util.bounds.getCenterAndZoom(bounds, myMap.container.getSize());

 

myMap.setCenter(centerAndZoom.center, centerAndZoom.zoom + 2, {

  checkZoomRange: true

});

Спасибо! Работает! :-)