原创不易~看完若对你有所帮助,记得点一个赞哈,这就是对我最大的支持了!

百度地图提供了一些API来提供动画的开发

1. ViewAnimation帧动画开发

<body><div id="map"></div><script>// 地图对象初始化let map = new BMapGL.Map('map');// 地图中心坐标 - 后续地图绘制都需要这种坐标// 百度有坐标拾取器,可以获取地点的坐标let point = new BMapGL.Point(116.404, 39.915);// 可以展示地图了,第二个参数zoommap.centerAndZoom(point, 20);// 允许鼠标滚轮滚动放大缩小map.enableScrollWheelZoom(true);map.setTilt(50);map.setHeading(0);// view-animation动画配置// 通过heading变化进行旋转// 通过center变化进行位移...var keyFrames = [{center: new BMapGL.Point(116.307092, 40.054922),zoom: 20,tilt: 50,heading: 0,percentage: 0},{center: new BMapGL.Point(116.307631, 40.055391),zoom: 21,tilt: 70,heading: 0,percentage: 0.1},{center: new BMapGL.Point(116.306858, 40.057887),zoom: 21,tilt: 70,heading: 0,percentage: 0.25},{center: new BMapGL.Point(116.306858, 40.057887),zoom: 21,tilt: 70,heading: -90,percentage: 0.35},{center: new BMapGL.Point(116.307904, 40.058118),zoom: 21,tilt: 70,heading: -90,percentage: 0.45},{center: new BMapGL.Point(116.307904, 40.058118),zoom: 21,tilt: 70,heading: -180,percentage: 0.55},{center: new BMapGL.Point(116.308902, 40.055954),zoom: 21,tilt: 70,heading: -180,percentage: 0.75},{center: new BMapGL.Point(116.308902, 40.055954),zoom: 21,tilt: 70,heading: -270,percentage: 0.85},{center: new BMapGL.Point(116.307779, 40.055754),zoom: 21,tilt: 70,heading: -360,percentage: 0.95},{center: new BMapGL.Point(116.307092, 40.054922),zoom: 20,tilt: 50,heading: -360,percentage: 1},];var opts = {duration: 10000,delay: 5000,interation: 'INFINITE'};let animation = new BMapGL.ViewAnimation(keyFrames, opts);map.startViewAnimation(animation);</script></body>

简单来说是通过定义多个关键帧来完成动画,过渡有百度地图完成

可以用于地图某个区域的旋转展示等等功能。

接着我们看看这个事件有哪些:

// 监听事件animation.addEventListener('animationstart', function(e){console.log('start')});animation.addEventListener('animationiterations', function(e){console.log('onanimationiterations')});animation.addEventListener('animationend', function(e){console.log('end')});

这里如果你想要通过自定义的按钮来控制动画开始,需要注意map是有z-index的,需要保证你的button区域的z-index > 9才行。然后在button的click事件调用map.startViewAnimation方法来开启动画

2. TrackAnimation轨迹动画

主要用于标注A点到B点的过程,展示路径和过程。

这个官方文档还没更新,直接演示吧:

<body><div id="map"></div><script>// 地图对象初始化let map = new BMapGL.Map('map');// 地图中心坐标 - 后续地图绘制都需要这种坐标// 百度有坐标拾取器,可以获取地点的坐标let point = new BMapGL.Point(116.404, 39.915);// 可以展示地图了,第二个参数zoommap.centerAndZoom(point, 15);// 允许鼠标滚轮滚动放大缩小map.enableScrollWheelZoom(true);map.setHeading(0);// track动画再另外一个库里面// 通过点绘制线,然后放入track动画里面// 点可以是地图上目标点的坐标(通过官网的坐标拾取器可以获得)const points = [new BMapGL.Point(116.418038,39.91979),new BMapGL.Point(116.418038,40.0592479),new BMapGL.Point(116.307899,40.057038),];const lines = new BMapGL.Polyline(points);const opts = {delay: 1000,duration: 20000,titl: 30, // 动画播放时俯角overallView: true // 动画结束会自动调整视角};const trackAnimation = new BMapGLLib.TrackAnimation(map, lines, opts);trackAnimation.start();</script></body>

如果要做细需要花时间精确获取每个沿路点的坐标

https://lbsyun.baidu.com/jsdemo.htm#webgl6_1

百度地图开发入门(3):动画相关推荐

  1. Android百度地图开发入门教程

    Android百度地图开发入门教程 1.平台注册登录 2.创建应用 3.Android studio配置 4.代码编写 5.最终效果(建议真机) 1.平台注册登录 登录百度地图开放平台网站注册并登录 ...

  2. 百度地图开发入门(5):飞线动画示例

    原创不易~看完若对你有所帮助,记得点一个赞哈,这就是对我最大的支持了! 讲解另一种常见应用-飞线动画,主要用于展示数据流向 https://lbsyun.baidu.com/solutions/map ...

  3. 百度地图开发入门(1):案例

    将我之前的百度地图入门的一些博文分享一下,这里主要系统讲解地图可视化的开发方式 1. 百度开发者账户申请 具体可以参考这里:https://lbsyun.baidu.com/index.php?tit ...

  4. IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应

    (转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...

  5. 新手入门百度地图开发的(0,0)坐标问题

    对于大部分人来讲,由于百度地图资料众多,过度依赖搜索引擎等等原因.新接触百度地图开发工作其实并不容易.今天说说关于坐标(0,0)的问题. 首先仍然介绍坐标系,我们先不管采用的和wgs84还是gcj02 ...

  6. [android] 百度地图开发 (二).定位城市位置和城市POI搜索

    一. 百度地图城市定位和POI搜索知识       上一篇文章"百度地图开发(一)"中讲述了如何申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述如何定位城市位置.定位 ...

  7. Android 百度地图开发(三)--- 实现比例尺功能和替换自带的缩放组件

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/11821523 貌似有些天没有写博客了,前段时间在忙找工作的事,面试了几家公司,表示反响 ...

  8. Android 百度地图开发(二)

    前面我们一起了解了百度地图的申请与集成Android 百度地图开发(一),今天我们接着来学习百度地图. 今天主要来了解如下问题: 1.百度地图的生命周期控制 上一篇张我们已经在布局文件里增加了mapV ...

  9. 百度地图开发技术方案及解决办法

    技术方案及解决办法 文章目录 技术方案及解决办法 总体方案 基础框架 前端网页 后端程序 结合搭建方法 跨域解决 python处理excel 问题描述 解决办法 网页结构 vue实例 内容引入 ele ...

最新文章

  1. java速算24,Java扑克牌速算24的方法
  2. git 分支复制_Git基础知识(五)
  3. Head First summary
  4. CISCO的GLBP(网关负载均衡协议)
  5. Linux ext4文件系统下 extundelete 恢复 误删除的文件
  6. 标注工具——VoTT的调试笔记
  7. 对象与对象之间的赋值(别名现象)
  8. eclipse linux 中文,Eclipse (简体中文)
  9. Chrome 谷歌浏览器安装Axure插件
  10. froala editor导出html,Froala editor 使用
  11. python文档字符串和注释的区别,加载模块时,Python文档字符串和注释是否存储在内存中?...
  12. 常用邮箱的 IMAP/POP3/SMTP 设置
  13. MFC软件欢迎界面(基于对话框,VS2013)
  14. 基于gibbsLDA的文本分类
  15. freemarker生成word,表格分页靠谱
  16. 一句话获取spring下所有注解
  17. 求生之路服务器参数配置
  18. L2-4 彩虹瓶 (25分) 栈的运用
  19. 富婆套路深,代码才是真...
  20. onenote uwp版安装失败解决方法 错误代码0x80073cfd

热门文章

  1. 创新工厂汪华建言移动创业团队发展
  2. 【vue】用WOW.js+animate.css实现页面滚动加载元素动画
  3. 自媒体中短视频流量主广告小程序开发
  4. 华为OD机试真题 Java 实现【几何平均值最大子数组】【2023 Q1 | 100分】
  5. 为何博客中一些程序和描述有误?
  6. 百度导航NaviDemo分析
  7. 我的世界服务器延时优化,我的世界服务器优化教程怎么使用Timing
  8. moxa uport1150串口使用步骤
  9. python风控建模实战lendingClub
  10. 虚拟机 ubuntu 无法进入界面