mounted(){// 移动轨迹this.mapa =newBMap.Map("allmapp");this.mapa.enableScrollWheelZoom(true);//地图可缩放
let pointy =newBMap.Point(113.23,23.16);//地图默认中心点this.mapa.centerAndZoom(pointy,9);
let stylew={
features:["road","building","water","land"],
style :'midnight',};this.mapa.setMapStyle(stylew);},
// 移动轨迹
deviceService.deviceTraceList({deviceId:Id}).then(rs =>{
that.mapDataa=rs.data;
let centerpoint =newBMap.Point(that.mapDataa.length>0? that.mapDataa[0].longitude :104, that.mapDataa.length>0? that.mapDataa[0].latitude :35);//地图默认中心点
that.mapa.centerAndZoom(centerpoint,that.mapDataa.length>0?10:5);// 编写自定义函数,创建标注
function addMarker(point,labell){
let marker =newBMap.Marker(point);
marker.setLabel(labell);
let windowOption ={
width:200}
that.mapa.addOverlay(marker);
marker.addEventListener("click",function (){
let po = marker.getPosition();
let tipData={};
let infoWindow ='';for(let i=0; i<that.mapDataa.length;i++){if(po.lng==that.mapDataa[i].longitude){
tipData=that.mapDataa[i]}}
infoWindow =newBMap.InfoWindow('<p>'+tipData.address+'</p><p>'+tipData.warnTime+'</p>',windowOption)
that.mapa.openInfoWindow(infoWindow,po)})}// 添加标注 for(var i =0; i <this.mapDataa.length; i ++){
let point =newBMap.Point(this.mapDataa[i].longitude,this.mapDataa[i].latitude);
let labell =newBMap.Label(i+1,{
offset :newBMap.Size(5,4)});
labell.setStyle({
background:'none',color:'#fff',border:'none'//只要对label样式进行设置就可达到在标注图标上显示数字的效果});addMarker(point,labell);}});this.mapa.clearOverlays();// 清除第一次点击时留下的覆盖物,