展示:

代码:
handleMarkerTap: function (e) {
const markerId = e.markerId;
const marker = this.data.markers.find(m => m.id === markerId);
if (marker) {
// 修改被点击标记的宽度和高度
marker.width = 40; // 新宽度
marker.height = 40; // 新高度
this.setData({
selectedMarker: marker,
showModal: true,
markers: this.data.markers // 更新markers数组以触发视图更新
});
}
},
如果要点击当前修改大小,并且其他的都恢复原来大小:
handleMarkerTap: function (e) {
const markerId = e.markerId;
// 先将所有标记恢复默认大小
const markers = this.data.markers.map(marker => {
return {
...marker,
width: 20,
height: 20
};
});
// 找到被点击的标记并修改大小
const clickedMarker = markers.find(m => m.id === markerId);
if (clickedMarker) {
clickedMarker.width = 50;
clickedMarker.height = 50;
this.setData({
selectedMarker: clickedMarker,
showModal: true,
markers: markers
});
}
},