最近在搗鼓騰訊地圖,然后,產(chǎn)品經(jīng)理要求——Marker的狀態(tài)有2種,選中和未選中。當(dāng)我點擊其中一個標(biāo)注的時候,樣式就更替的選中樣式,如果之前有選中的就恢復(fù)成未選中樣式。嘗試了幾種我所想的辦法,都不行;開發(fā)文檔上也沒有。特來求助各位,如果這能實現(xiàn),該怎么實現(xiàn)?最好有代碼可以讓我參考一下~ 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++) {
// 判斷,以便顯示不一樣的圖標(biāo)
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以及示例方法,我將坐標(biāo)組里面的點都循環(huán)顯示出來,于是,
每一個點擊的marker都是點擊到的單個信息并不是好幾個含在其中。但是,每次一更改圖標(biāo)設(shè)置marker.setIcon都是一次性修改全部,無語了。
這種怎么破解?
點擊某一個Marker,然后樣式更改。怎樣讓非點擊的Marker樣式回復(fù)原狀?
幕布斯6054654
2019-04-11 14:15:54