view.fit()在OpenLayers 3.20+中使用view.animate()

hyp*_*not 2 openlayers-3

我有以下代码,为OpenLayers 3.20之前编写:

fitViewToFeature: function (viewer, feature) {
    var pan = ol.animation.pan({
      source: viewer.olView.getCenter(),
      duration: 1000
    })

    var zoom = ol.animation.zoom({
      resolution: viewer.olView.getResolution(),
      duration: 1000
    })

    viewer.olMap.beforeRender(pan, zoom)

    viewer.olView.fit(feature.getGeometry(), viewer.olMap.getSize(), {
      padding: [ 100, 100, 100, 100 ],
      constrainResolution: false,
      maxZoom: 4
    })
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将此函数转换为OpenLayers 3.20中引入的新view.animate()语法?

或者,我是否应该打开GitHub问题并请求将新选项添加​​到view.animate?

aho*_*var 11

你应该能够以更简单的方式实现相同的动画,可以duration选择ol.View#fit():

viewer.olView.fit(feature.getGeometry(), {
  duration: 1000
});
Run Code Online (Sandbox Code Playgroud)

以上工作在OpenLayers 4.x中.