2017-02-21 30 views
0

Я смотрел на анимации особенностей OpenLayers и я могу видеть, как это просто, чтобы увеличить до заданной точки и разрешения с использованиемOpenLayers анимировать GetView(). Подходит()

view.animate({ 
    center: position, 
    zoom: 11 
}); 

, но то, что я не могу понять, как оживить

map.getView().fit(extent, map.getSize()); 

Может ли кто-нибудь дать мне несколько указателей?

Заранее спасибо

ответ

2

Подгонка функция не поддерживает анимации в OpenLayers 3. Третий параметр является объектом, где различные варианты (продолжительность, ослабление ...) может быть установлен, и вы можете сделать это легко:

map.getView().fit(extent, map.getSize(), { duration: 1000 }); 

Вы можете посмотреть на Openlayers 3 API, чтобы узнать подробности о параметрах.

Я также создал jsFiddle example, где вы можете видеть, как это работает.

Будьте осторожны! OpenLayers V4.0.1 здесь:

С недавно выпущенной версией OpenLayers, были изменены некоторые вещи, связанные с этим методом, поэтому, если вы читаете документацию для подгонки функции в последней Openlayers API вы увидите, что только 2 параметров теперь разрешены, так как размер не должен передаваться как параметр (однако его можно назначить в параметре параметров). Так что ваш пример адаптирован к OpenLayers V4.0.1 будет походить следующим образом:

map.getView().fit(extent, { duration: 1000 }); 

Очень важно, чтобы эти изменения в виду, потому что это может принести смятении в то время как вы используете официальный API.