首先在页面把要替换的图标引入
import newIcon from "../../../../static/image/startIcon.png"
第一种方式:使用百度地图api,setIcon,简单两步就可以实现
marker.addEventListener("click", function (event) {
// 设置新的地图图标
let lightMyIcon = new BMap.Icon(
newIcon,
new BMap.Size(25, 25), {
imageSize: new BMap.Size(25, 25)
});
// 使用setIcon
marker.setIcon(lightMyIcon)
})
第二种方式:情景:有多个点,点击的marker换图标,其他marker保持原样
marker.addEventListener("click", function (event) {
// 绑定一个变量,如果为true,先把之前加的图标去掉
if (_self.lightPoint) {
_self.bMap.removeOverlay(_self.newmarker)
}
// 在相同位置新增一个newMarker,这样相当于覆盖掉原有的图标
let point = new BMap.Point(event.target.point.lng, event.target.point.lat)
_self.newmarker = new BMap.Marker(point, {icon: lightMyIcon});
_self.bMap.addOverlay(_self.newmarker);
_self.lightPoint = true
})