Клуб API Карт

Плавное перемещение с масштабированием

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

Код в примере:

// Создание обработчика для события window.onLoad

 YMaps.jQuery(function () {
 // Создание экземпляра карты и его привязка к созданному контейнеру
 var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]),
 destinations = {
 'Москва' : new YMaps.GeoPoint(37.609218,55.753559),
 'Санкт-Петербург' : new YMaps.GeoPoint(30.313497,59.938531),
 'Екатеринбург' : new YMaps.GeoPoint(60.617435,56.829748),
 'Одесса' : new YMaps.GeoPoint(30.7058,46.466444)
 };
  


// Центрируем карту на первом городе
А можно как-то задавать масштаб городов к которым происходит переход?

map.setCenter(destinations['Москва'], 10); 

 

 

6 комментариев

 

А можно как-то задавать масштаб городов к которым происходит переход?

 

наверное можно

 

destinations = {    'Москва' : {        center : new YMaps.GeoPoint(37.609218,55.753559),        zoom : 10    },...};map.setCenter(destinations['Москва'].center, destinations['Москва'].zoom);

Карта и меню отображаются, но при клике перехода не происходит! :-(

На изменение zoom карта по-умолчанию реагирует правильно...

вы про этот пример?

panTo не поддерживает масштаб,

но после перехода к нужной точке, в опции callback

для panTo можно передать функцию в которой плавно дозумить до нужного масштаба методом setZoom

c опцией smooth=true

Понятно... Отложу пожалуй до лучших времён...

Вот так работает

  // Перемещаем карту

                                map.panTo(geoPoint, {

flying: 1,

callback: function () { map.setZoom(zoom, { smooth: true });}

}

);

 

                                return false;

                            })

                            .end()

 

Но не знаю как задать zoom для каждой карты. :-(

Если тупо указать     var zoom = 14; к примеру, то для каждой карты будет этот зум...