高德地图web端,轨迹回放时的属性信息展示

14 篇文章 1 订阅

看这篇文章意味这你已经完成了轨迹播放的基本功能!
下面我们主要看一下在轨迹实时播放中如何实现属性信息的实时更新呢。
应用场景:一个GPS监控车辆,点击播放他的历史轨迹时,客户要看这辆车运行中的 油耗、速度、位置等属性信息。
首先:在我们在创建要运动点的marker时,将我们的属性赋给他,目的就是让marker以后 带着属性跑,具体如下:

var modelsdata=[];
console.log(data);
var path2 = [];
for (var i = 0; i < data.length; i++) {
objModels.lineArr[i] = [data[i].Longitude, data[i].Latitude];
var historyModels={
SendTime : data[i].SendTime,
Velocity : data[i].Velocity,
Location : data[i].Location
};//记录轨迹属性
modelsdata[i]=historyModels;//要展示的属性对象
}

其次就是在marker的 事件中显示即可,如下:

 objModels.markerCar.historyatt=modelsdata;//给运动点的objModels.markerCar添加属性对象
				map.setZoomAndCenter(17, [latlngarr[0],latlngarr[1]]);
				objModels.markerCar.on('moving', function(e) {
				var len = e.passedPath.length;
				document.getElementById("sudu").innerHTML=objModels.markerCar.historyatt[len-1].Velocity;//展示速度
				document.getElementById("dz").innerHTML=objModels.markerCar.historyatt[len-1].Location;//展示位置
				document.getElementById("dqsj").innerHTML=objModels.markerCar.historyatt[len-1].SendTime;//展示时间
					objModels.passedPolyline.setPath(e.passedPath);
				});

最后 来一波效果图
在这里插入图片描述
demo下载

Vue 高德地图 API 提供了一个便捷的方式来展示轨迹并支持拖动回放。在 Vue 中使用高德地图组件(如 `AMap.Map`),你可以通过以下几个步骤实现轨迹回放拖动: 1. **初始化地图**: 首先需要在 Vue 组件中创建一个 `AMap.Map` 实例,并设置地图的中心点、缩放级别等属性。 ```javascript <template> <div id="map"></div> </template> <script> import AMap from '@amap/core'; export default { mounted() { this.initMap(); }, methods: { initMap() { const map = new AMap.Map('map', { zoom: 10, center: [116.404, 39.915], // 北京坐标 }); // ...其他地图配置... } } }; </script> ``` 2. **加载轨迹数据**: 然后,你需要获取到轨迹数据(通常是包含经纬度信息的数组)并在地图上绘制。 ```javascript async mounted() { // 假设你有一个轨迹数据数组轨迹Data const轨迹Data = await getTrajectoryData(); // 添加轨迹标记点 轨迹Data.forEach(point => { new AMap.Marker({ position: point, draggable: true, // 允许拖动 raiseOnDrag: false, // 拖动不改变高度 map: map, }); }); // 创建轨迹线 const polylineOptions = { path: trajectoryData }; const polyLine = new AMap.Polyline(polylineOptions); polyLine.setMap(map); } ``` 3. **轨迹回放拖动**: 用户可以在地图上点击或拖动轨迹标记点,高德地图会自动播放沿路径移动的效果。 - 当用户拖动一个标记点,可以根据该点的位置更新 Polyline 的 `setPath` 方法,显示新的路径。 - 可以监听 `dragend` 或 `draggingchange` 事件来调整动画效果。 ```javascript // 监听 marker 拖动事件 this.$refs.marker实例.addEventListener('dragend', event => { // 更新轨迹数据 this.trajectoryData.splice(event.target.dataIndex, 1, event.target.getPosition()); polyLine.setPath(this.trajectoryData); }); ```
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值