查看官方文档,Marker类的属性,方法,事件等,官方地址:覆盖物-参考手册-地图 JS API | 高德地图API高德开放平台官网https://lbs.amap.com/api/javascript-api/reference/overlay#marker
查看官方文档发现MarkerOptions中有extData属性,是用户自定义属性,支持JavaScript API任意数据类型,如Marker的id等。
继续往下,会发现有对应的设置与获取自定义数据的方法,
相当完美了,直接上代码:
var marker = new AMap.Marker({
position: [Number(res.data.jingdu),Number(res.data.weidu)],
cursor:'pointer',
icon: carIcon,
autoRotation: true,
offset: new AMap.Pixel(-5, -20),
angle:0,
extData:ele.id //设置自定义属性
});
methods:{
getAllMarkers(){
this.markers = this.mapall.getAllOverlays('marker');
setInterval(() => {
this.markers.forEach(ele=>{
getDetailById(ele.getExtData()).then(res=>{ //ele.getExtData()获取id
ele.setPosition(
new AMap.LngLat(
Number(res.data.jingdu),
Number(res.data.weidu),false)
);//ele.setPosition()设置经纬度
})
})
console.log("=================")
}, 5000);
}
},
created(){
this.getAllMarkers();
},
在页面销毁之前,记得清除定时器哦!