OpenLayers 5 实现动画方式移动和缩放,OpenLayers 4、OpenLayers 3 动画应用(OpenLayers View animate)

本文介绍了如何在OpenLayers 5中实现地图视图的动画移动和缩放功能。通过查阅官方API文档,找到了适用于OpenLayers 5的新方法,并指出参数设置的顺序会影响动画效果。示例代码展示了先移动后放大、先放大后移动以及同时进行这两种操作的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中要实现把OpenLayers的View移动到某点并放大到指定级别,参考 http://anzhihun.coding.me/ol3-primer/ch11/11-02.html ,发现大概代码如下:

function backWithAnim() {
  var pan = ol.animation.pan({
    duration: 2000,
    source: map.getView().getCenter(),
    easing: getEasing()    // 设置对应选择的动画
  });
  map.beforeRender(pan);
  map.getView().setCenter(ol.proj.transform([104, 30], 'EPSG:4326', 'EPSG:3857'));
}

当我在编码的时候,发现这个可能只适合OpenLayers 3,我用的 OpenLayers 5,并没找到 ol.animation.pan 类,

后来我到官方API文档 http://openlayers.org/en/latest/apidoc/module-ol_View-View.html#animate 找到了新写法,如下:

view.animate({zoom: 10}, {center: [0, 0]});

新写法感觉更好理解!经过实际使用,发现传递给animate方法的参数,编写的先后顺序会影响动画效果,下面记

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值