高德地图3D轨迹回放 + 视野跟随功能

  • 概述
  • 代码实现步骤
  • 完整代码 (需要添加一个2.0的key)

概述

若有帮助到你,麻烦点一波关注,博主会持续推出Echarts,D3,地图,Three.js方面的文章~~~
注意:高德地图必须使用2.0版本
实现功能点:

  1. 加载高德3D地图
  2. 实现轨迹回放功能
  3. 实现视野跟随功能

代码实现步骤

1.加载3D地图

let map = new AMap.Map("container", {resizeEnable: true,center: [116.479126, 39.998563],zoom: 20,pitch: 55.94919957310569,rotation: -0.7908261543741522,viewMode: '3D', //开启3D视图,默认为关闭buildingAnimation: true, //楼块出现是否带动画
});

2.添加小车

let marker = new AMap.Marker({map: map,position: [116.478935, 39.997761],icon: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png",offset: new AMap.Pixel(-13, -26),
});

3.添加小车移动时的监听函数,此处为最重要的代码,在小车开始移动时就一直设置地图中心点和旋转角

marker.on('moving', function (e) {// 设置地图中心点map.setCenter(e.target.getPosition())// 设置旋转角map.setRotation(-e.target.getOrientation())
});

4.开启小车运动

window.startAnimation = function startAnimation() {marker.moveAlong(lineArr, {// 每一段的时长duration: 200,// JSAPI2.0 是否延道路自动设置角度在 moveAlong 里设置autoRotation: true,});
};

完整代码 (需要添加一个2.0的key)

<!doctype html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title>轨迹回放</title><link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" /><style>html,body,#container {height: 100%;width: 100%;}.input-card .btn {margin-right: 1.2rem;width: 9rem;}.input-card .btn:last-child {margin-right: 0;}</style>
</head><body><div id="container"></div><div class="input-card"><h4>轨迹回放控制</h4><div class="input-item"><input type="button" class="btn" value="开始动画" id="start" onclick="startAnimation()" /><input type="button" class="btn" value="暂停动画" id="pause" onclick="pauseAnimation()" /></div><div class="input-item"><input type="button" class="btn" value="继续动画" id="resume" onclick="resumeAnimation()" /><input type="button" class="btn" value="停止动画" id="stop" onclick="stopAnimation()" /></div></div>// 添加一个2.0的key值即可以使用<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key="></script><script>// JSAPI2.0 使用覆盖物动画必须先加载动画插件AMap.plugin('AMap.MoveAnimation', function () {var marker, lineArr = [[116.478935, 39.997761],[116.478939, 39.997825],[116.478912, 39.998549],[116.478912, 39.998549],[116.478998, 39.998555],[116.478998, 39.998555],[116.479282, 39.99856],[116.479658, 39.998528],[116.480151, 39.998453],[116.480784, 39.998302],[116.480784, 39.998302],[116.481149, 39.998184],[116.481573, 39.997997],[116.481863, 39.997846],[116.482072, 39.997718],[116.482362, 39.997718],[116.483633, 39.998935],[116.48367, 39.998968],[116.484648, 39.999861]];var map = new AMap.Map("container", {resizeEnable: true,center: [116.479126, 39.998563],zoom: 20,pitch: 55.94919957310569,rotation: -0.7908261543741522,viewMode: '3D', //开启3D视图,默认为关闭buildingAnimation: true, //楼块出现是否带动画});window.map = mapmarker = new AMap.Marker({map: map,position: [116.478935, 39.997761],icon: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png",offset: new AMap.Pixel(-13, -26),});// 绘制轨迹var polyline = new AMap.Polyline({map: map,path: lineArr,showDir: true,strokeColor: "#28F", //线颜色// strokeOpacity: 1,     //线透明度strokeWeight: 6, //线宽// strokeStyle: "solid"  //线样式});var passedPolyline = new AMap.Polyline({map: map,strokeColor: "#AF5", //线颜色strokeWeight: 6, //线宽});marker.on('moving', function (e) {passedPolyline.setPath(e.passedPath);// 设置地图中心点map.setCenter(e.target.getPosition())// 设置旋转角map.setRotation(-e.target.getOrientation())});map.setFitView();window.startAnimation = function startAnimation() {marker.moveAlong(lineArr, {// 每一段的时长duration: 200,// JSAPI2.0 是否延道路自动设置角度在 moveAlong 里设置autoRotation: true,});};window.pauseAnimation = function () {marker.pauseMove();};window.resumeAnimation = function () {marker.resumeMove();};window.stopAnimation = function () {marker.stopMove();};});</script>
</body></html>

高德地图3D轨迹回放 + 视野跟随功能相关推荐

  1. android 基于高德地图的轨迹回放

    android 基于高德地图的轨迹回放 前段时间公司项目有一个需求,就是需要看到设备上传之后的轨迹路线,并且可以实现回放的整个过程,功能包括路线回放.地图位置插点.回放之后的轨迹标记颜色.回放加速等功 ...

  2. H5移动端 高德地图 巡查轨迹回放 2.0版

    注意是HTTPS还是HTTP index.html引入 <script type="text/javascript" src="http://webapi.amap ...

  3. 高德地图轨迹PHP,高德地图JSAPI轨迹重复绘制

    介绍一个基于高德地图JSAPI轨迹展示案例: 说明: 1.定时接口取数据刷新轨迹: 2.轨迹坐标数量较大: 3.轨迹点位信息需要展示,如时间.速度.多少点位: 4.避免地图重新渲染,只刷新坐标: 使用 ...

  4. 华为30 岁以下员工占比 28%;SpaceX:欢迎“攻击”星链;高德地图宣布正式上线“红绿灯倒计时”功能 | EA周报...

    EA周报 2022年8月19日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.华为研发费用占年收入 22.4%,30 岁以下员工占比 28% 2.腾讯二 ...

  5. 基于高德地图实现融云位置共享功能

    基于高德地图实现融云位置共享功能(Android篇) 效果预览: 开发准备: 1: 登录 融云开发者账号,提交 server 平台工单申请开通 实时位置共享功能.工单回复开通成功后. 2 小时生效. ...

  6. js室内地图开发_如何使用JS来开发室内三维地图的轨迹回放功能

    在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回放 ...

  7. vue 高德地图搜索功能_VUE中使用高德地图做轨迹添加功能,帮助轨迹展示

    准备工作 使用前准备 : 高德地图key 使用插件: vue-amap 1.npm安装vue-amap npm install vue-amap --save import AMap from 'vu ...

  8. vue 使用高德JSapi 实现轨迹回放和海量点效果(点击显示详情提示窗口) 采用AMapLoader 和 AMapUI

    第一步 注册高德开发者平台账号 (个人选择个人账户) 地址见 https://lbs.amap.com/api 第二步 在控制台中申请Key(输入key,选择web端,提交即可) 第三步 通过JSAp ...

  9. 高德地图引入Vue添加POI搜索功能、marker点标记、通过经纬度逆编码过程

    安装高德地图 npm i @amap/amap-jsapi-loader --save 引入 import AMapLoader from '@amap/amap-jsapi-loader'; *在组 ...

最新文章

  1. Python 之 pip拒绝访问
  2. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
  3. mysql 优化版_MySQL优化(超完整版)(一)
  4. 9patch的用法,简单两句就会用了。
  5. 【微职位公开课】老学长自述:如何成为年薪50W的技术工程师
  6. Visual C++ 时尚编程百例005(菜单)
  7. 【读书笔记《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)...
  8. 【JOURNAL】集花酒联
  9. NKU 专题一 题解
  10. day04_09 while循环03
  11. floor mod sqlserver_ORACLE和SQLServer-SQL语句的区别
  12. mac安装 配置 ant
  13. Adobe Flex Application LifeCycle
  14. 面向对象编程(六):数据封装
  15. PAIP。JS调用DLL的解决方案
  16. nginx基于tcp负载均衡
  17. 华为数通ensp命令(四)
  18. 【Java工具类】中文转换成汉语拼音工具-pinyin4j
  19. 文件夹排序(先文件夹排序,后文件排序)
  20. 【9018:1458】征兵

热门文章

  1. MySQL性能优化的最佳20+条经验
  2. linux进程创建心得体会,Linux系统下计算机C语言编程心得体会
  3. 计算机方向 会议级别
  4. android 高仿拼多多,Android 仿京东、拼多多商品分类页
  5. 云班课python答案_云班课 答案 脚本
  6. R语言批量读取txt文件并合并
  7. 零基础学手绘插画的方法
  8. 软件需求分析学习日记(一)需求工程概述
  9. OTP一次性动态密码工具实现
  10. 地图制图领域使用计算机优点在于哪些方面,电子地图制图的运用与发展