Клуб API Карт

Слетает zoom

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

Вывел на странице несколько карт для разных объектов. Когда он показываются просто списком - все нормально. Но необходимо сделать, чтобы карты открывались во всплывающем окне. Все работает корректно, карты показываются с нужными координатами, но слетает zoom на минимальный. Т.е. показывается карта мира. Может кто подсказать причину?

 

ymaps.ready(init);

function init() {
    var myMap = new ymaps.Map('map544', {
        center: [],
        zoom: 16
    });
        myMap.controls.remove('trafficControl');
    myMap.controls.remove('searchControl');
    myMap.controls.remove('geolocationControl');
    myMap.controls.remove('rulerControl');
    myMap.controls.remove('typeSelector');
    myMap.controls.remove('fullscreenControl');

    ymaps.geocode('Альметьевск, ул. Девонская, д. 89, ТЦ "Девонский"', {
        results: 1
    }).then(function (res) {
            var firstGeoObject = res.geoObjects.get(0),
                coords = firstGeoObject.geometry.getCoordinates(),
                                bounds =  res.geoObjects.get(0).properties.get('boundedBy');
            myMap.geoObjects.add(firstGeoObject);
            myMap.setBounds(bounds, {
                checkZoomRange: true
            });

            console.log('Все данные геообъекта: ', firstGeoObject.properties.getAll());
            console.log('Метаданные ответа геокодера: ', res.metaData);
            console.log('Метаданные геокодера: ', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData'));
            console.log('precision', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.precision'));
            console.log('Тип геообъекта: %s', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.kind'));
            console.log('Название объекта: %s', firstGeoObject.properties.get('name'));
            console.log('Описание объекта: %s', firstGeoObject.properties.get('description'));
            console.log('Полное описание объекта: %s', firstGeoObject.properties.get('text'));

        });
}

 

И кстати, очень не хватает в клубе поиска по сообщениям.

1 комментарий
Sergey Konstantinov
27 января 2016, 22:52
Карту нельзя инициализировать с пустыми координатами.
Для расчета центра и масштаба карты из bounds предназначен метод https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/util.bounds.getCenterAndZoom-docpage/
Максимальный масштаб в точке можно получить из метода https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/getZoomRange-docpage/