高德地图web api更改marker大小

工作中,需要根据地图的缩放,更改marker的大小。比如,地图越缩小,marker必须变小,以防重叠到一堆。

搜索了很多文章,都没有提高如何修改marker大小的。后面在高德api文档里发现了秘籍:

或者向已创建好的 Marker 添加 Icon:marker.setIcon(icon);

于是我通过以下方式重置了marker:

const newIcon = new AMap.Icon({
  size: new AMap.Size(52, 26), // 图标尺寸
  image: !marker.vehicle.idle ? iconCar : iconCarGray, // Icon的图像
  imageSize: iconMeta.size, // 根据所设置的大小拉伸或压缩图片
})
marker.setIcon(newIcon)

实现了我的目标。

核心API :

marker.setIcon(icon)

高德地图web api更改marker大小_第1张图片
image.png

增加:

当marker缩小后,对应的offset还是原来的,这个时候marker会向左上偏移更多,所以,此时还应该调用marker.setOffset()方法重置offset。

marker API

综上,有问题找API文档。

你可能感兴趣的:(高德地图web api更改marker大小)