百度地图|BMapGL实现地图轨迹运动(地图视角不变)

BMapGL实现地图轨迹 【百度地图|BMapGL实现地图轨迹运动(地图视角不变)】想要实现:

  1. 轨迹运动地图视角不能随之改变
  2. 有icon标识运动当前的位位置
总的说就是在BMapGl里实现BMap的轨迹运动功能
由于数据之间的经纬度之间的距离太遥远,不能使用每隔一段时间换一个point这种办法,后来仔细看了看百度地图的demo文档,路书的能实现均匀的轨迹运动,但是需求和demo还是有一点点的不同,所以做了小小的改动。
路书demo
最后实现的效果如下:
百度地图|BMapGL实现地图轨迹运动(地图视角不变)
文章图片

  • 引入路书的js
    百度地图|BMapGL实现地图轨迹运动(地图视角不变)
    文章图片
  • 在地图上根据数据绘制出一条线
  • icon和轨迹
var points = [] //里面为多个point的点var point = new BMapGL.Point(116.39,28.33) var polyline = new BMapGL.Polyline(points, { strokeColor: '#1a66c7ba', strokeWeight: 6, strokeOpacity: 0.2 }) //创建折线 //添加在地图上 这里的“map”地图初始化就定义的变量 map.addOverlay(polyline) 引入您需要用的icon var icon = require('@/assets/img/carIcon.png') var trackExample = new BMapGLLib.LuShu(map, points, { // defaultContent: '起飞啦', // "信息窗口文案" autoView: true, // 是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整 speed: 100, icon: new BMapGL.Icon(icon, new BMapGL.Size(30, 30), { anchor: new BMapGL.Size(24, 24) }), enableRotation: true, // 是否设置marker随着道路的走向进行旋转 })

当然这里路书的事件也是一样的,直接在需要用到的地方代用就ok了
//开始 trackExample.start(); //停止 trackExample.stop(); //暂停 trackExample.pause(); //隐藏信息窗口 trackExample.hideInfoWindow(); //展示信息窗口 trackExample.showInfoWindow();

路书的js也可以直接下载放在项目里面,需要的如下:
https://bj.bcebos.com/v1/mapopen/github/BMapGLLib/Lushu/src/Lushu.min.js

    推荐阅读