Не масшатибируется яндекс карта?

Динамически создаю карту:
ymaps.ready(init);
                    var myMap,
                            myPlacemark;

                    function init() {
                        myMap = new ymaps.Map("map", {
                            center: [{{ $event->lat }}, {{ $event->long }}],
                            zoom: 10
                        });
                        ymaps.geocode('Россия, {{ $city }}, {{ $event->address }}', {
                            results: 1
                        }).then(function (res) {
                            var firstGeoObject = res.geoObjects.get(0),
                                    coords = firstGeoObject.geometry.getCoordinates(),
                                    bounds = firstGeoObject.properties.get('boundedBy');

                            myMap.geoObjects.add(firstGeoObject);
                            myMap.setBounds(bounds, {
                                checkZoomRange: true
                            });
                        });
                    }

Карта создается правильно, но не масштабируется, вот так вот выглядит –
5334e18dc6.jpg

Я понимаю что дело в асинхронном методе geocode, но не понимаю как сделать так что бы зум срабатывал нормально
  • Вопрос задан
  • 1287 просмотров
Пригласить эксперта
Ответы на вопрос 1
Попробуйте вытащить координаты необходимой области с помощью функции getBounds
апи яндекс карт
Должно выглядеть как-то так:
//после добавления объекта
var bounds = myMap.geoObjects.getBounds();
myMap.setBounds(bounds, {
     checkZoomRange: true
});

А вообще, что вы хотите сделать то? У вас же одна точка отображается. Если вы хотите, чтобы карта центрировалась по этой точке с приличным зумом - задайте сами центр и зум. ( методы setCenter и setZoom).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы