最近在捣鼓腾讯地图,然后,产品经理要求——Marker的状态有2种,选中和未选中。当我点击其中一个标注的时候,样式就更替的选中样式,如果之前有选中的就恢复成未选中样式。
尝试了几种我所想的办法,都不行;开发文档上也没有。特来求助各位,如果这能实现,该怎么实现?最好有代码可以让我参考一下~
const latlngs = []; const test = []; let datas; if (this.allProjects) { datas = this.allProjects; for (let j = 0; j < this.allProjects.length; j++) { latlngs.push(new qq.maps.LatLng(this.allProjects[j].maLat, this.allProjects[j].maLng)); test.push(new qq.maps.LatLng(this.allProjects[j].maLat, this.allProjects[j].maLng)); } } for (let i = 0; i < latlngs.length; i++) { // 判断,以便显示不一样的图标 if (this.allProjects[i].hasParkingLot()) { let marker = new qq.maps.Marker({ icon: noSelectedIcon, position: latlngs[i], map: this.map }); qq.maps.event.addListener(marker, 'click', () => { infoWin.open(); infoWin.setContent('<div style="text-align:center;white-space:' + 'nowrap;margin:10px;font-size:0.2rem;">这是' + datas[i].maName + '</div>'); infoWin.setPosition(latlngs[i]); this.map.panTo(latlngs[i]); // 移动地图中心 this.selectedProject = datas[i]; // debugger this.markerSelect = marker; marker.setIcon(selectedIcon); }); } }
就是这样子,按照腾讯地图给的API以及示例方法,我将坐标组里面的点都循环显示出来,于是, 每一个点击的marker都是点击到的单个信息并不是好几个含在其中。但是,每次一更改图标设置marker.setIcon都是一次性修改全部,无语了。 这种怎么破解?
轩轩轩轩轩
湖上湖
慕尼黑的夜晚无繁华
相关分类