高德地图只能删除一个label信息窗

现在是随便点哪个marker都是删除科技园2 我想点哪个marker就删除哪个marker的label 这个应该怎么改?
高德地图只能删除一个label信息窗

lnglats: [{

name: '科技园1',

position: [113.28, 23.15],

label: '纳米科技1',

desc: '商务办公',

avail: 1000,

rate: '70%',

companyNum: 241,

zj: '3%'

}, {

name: '科技园2',

position: [113.29, 23.16],

label: '纳米科技2',

desc: '商务办公',

avail: 3000,

rate: '40%',

companyNum: 991,

zj: '3%'

}]

methods:{

init: function() {

var that = this

var infoWindow

map = new AMap.Map('container', {

center: [113.28, 23.15],

resizeEnable: true,

zoom: 13

})

for(let i=0;i<that.lnglats.length;i++){

marker = new AMap.Marker({

name: that.lnglats[i].name,

position: that.lnglats[i].position,

map,

icon: new AMap.Icon({

size: new AMap.Size(30,30),

image: 'https://sqt-1259302042.cos.ap-guangzhou.myqcloud.com/5d05d218da1b4213a01052f4a0b405d5.jpg',

imageSize: new AMap.Size(30, 30)

})

})

var content = `

<div style="padding: 5px;overflow:hidden;display:flex;justify-content:center;border-radius:5px;border: 1px solid white !important;">

<div onclick="test(${i})">${this.lnglats[i].name}</div>

<div style="width: 0px;height: 0px;border: 10px solid #000;border-top-color: white;border-bottom-color: transparent;border-left-color: transparent;border-right-color: transparent;position:absolute;bottom:-20px"></div>

</div>

`

marker.setLabel({

offset: new AMap.Pixel(0, -10),

direction: 'top',content,

border: 'none'

})

}

}

},

created(){

window.test=(i)=>{

console.log(i)

marker.setLabel(null);

}

},


回答:

因为你marker指向的都是最后一个marker,你不把i传进去了吗,那你就要想想怎么用这个i去找到对应的marker,比如你可以把所有的marker都存放在一个数组markers里,然后用marker[i]去寻找对应的marker

以上是 高德地图只能删除一个label信息窗 的全部内容, 来源链接: utcz.com/p/937595.html

回到顶部