工作中,需要根據(jù)地圖的縮放,更改marker的大小。比如,地圖越縮小,marker必須變小,以防重疊到一堆。
搜索了很多文章,都沒有提高如何修改marker大小的。后面在高德api文檔里發(fā)現(xiàn)了秘籍:
或者向已創(chuàng)建好的 Marker 添加 Icon:
marker.setIcon(icon);
于是我通過以下方式重置了marker:
const newIcon = new AMap.Icon({
size: new AMap.Size(52, 26), // 圖標(biāo)尺寸
image: !marker.vehicle.idle ? iconCar : iconCarGray, // Icon的圖像
imageSize: iconMeta.size, // 根據(jù)所設(shè)置的大小拉伸或壓縮圖片
})
marker.setIcon(newIcon)
實現(xiàn)了我的目標(biāo)。
核心API :
marker.setIcon(icon)

image.png
增加:
當(dāng)marker縮小后,對應(yīng)的offset還是原來的,這個時候marker會向左上偏移更多,所以,此時還應(yīng)該調(diào)用marker.setOffset()方法重置offset。