<unicloud-map
ref="map"
......
@updated="onUpdated"
</unicloud-map>
onUpdated(e){
//作用:
//一旦地图重载数据,识别自己,并重新进行绘制。
this.markers = this.$refs.map.getMarkers();
console.log("onReload get markers",this.markers );
//遍历数组,找到自己的标记点,更新各标记点的图标、文字,
for(var i in this.markers){
//如果当前显示所有用户方向
if(this.markers[i].ariaLabel==this.userInfo._id){
//自己
this.myMarker= Object.assign(this.markers[i]);
if(this.showDir)this.markers[i].iconPath=this.directionMyImg;
}else if(this.showDir){
this.markers[i].iconPath=this.directionImg;
}
if(this.hasNewCenter){
//如果当前在设计中心点,查看是否被选中,选中文字变色
if(this.paternerIDArr.indexOf(this.markers[i].ariaLabel)!=-1){
this.markers[i].callout.color="#ff0000";
}
}
}
//计算绘制中心点及各标记点
if(this.hasNewCenter){
//如果当前正在设计中心点
this.centerMarker=-1;
this.computerCenter(); //重新计算绘制中心点(同时绘制所有点)
}else{
this.$refs.map.setMarkers(this.markers);
}
},
systhinker (作者)
点赞!响应迅速!我已经在官方代码上加了这个事件,名字叫@reload
2024-03-07 08:43