Клуб API Карт

Как установить масштаб после setBounds?

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

Добрый день. Проблема в том что масштаб карты не устанавливается после вызова setBounds, как установить масштаб после этого?

 

Собственно код:

 

var map, collection;

ymaps.ready(function(){

 

map = new ymaps.Map('map' + id, {

center: [0, 0],

zoom: 5,

controls: ['zoomControl']

});

 

collection = new ymaps.GeoObjectCollection({}, {

preset: 'islands#redIcon'

});

 

map.geoObjects.add(collection);

 

$.each(json, function(a,b){

collection.add(new ymaps.Placemark(b.c.split(','), {iconContent: b.i, balloonContent: b.d}));

});

 

map.setBounds(collection.getBounds(),{checkZoomRange: true});

map.setZoom(5); // Не работает!

 

});

3 комментария

Координаты должны быть массивом 2-х чисел, а не строк

Смотрите пример https://tech.yandex.ru/maps/doc/jsapi/2.0/ref/reference/Map-docpage/#setZoom-param-zoom возможно вы не поняли о чем я!

у вас же {checkZoomRange: true}

это асинхронный запрос на сервер за диапазоном, а вы сразу синхронно хотите выставить.через setZoom

когда придет ответ, setBounds отработает и изменит то что выставил setZoom