【VUE + 高德】高德地图地图标记点在点击时更换图标,取消点击状态复原图标

引入高德api,实现地图打点功能,点击标记点marker时,更换marker图标,弹出信息气泡,关闭气泡后还原该标记点图标,下面是简洁的实现方式:
引入地图就不赘述了

  1. 声明各状态图标icon
oldIcon = new AMap.Icon({
    image: "****old.png",
    size: new AMap.Size(30, 37), //图标大小
    imageSize: new AMap.Size(30, 37)
});
newIcon = new AMap.Icon({
    image: "****new.png",
    size: new AMap.Size(30, 37), //图标大小
    imageSize: new AMap.Size(30, 37)
});
  1. 鼠标点击事件
onClick(e) {
	this.clickMarker = e//将本次点击的marker信息保存在clivkMarker中
	this.map.setZoomAndCenter(11, e.target.getPosition());
	e.target.setIcon(newIcon);
}
  1. 复原图标事件
reset() {
	this.clickMarker.target.setIcon(oldIcon);
}
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要让 Vue 中的高德地图标记后跳动一下,可以利用高德地图 JavaScript API 的 Marker 类和 Animation 类来实现。 首先,在 Vue 中引入高德地图 JavaScript API: ```html <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> ``` 然后,在 Vue 组件中创建地图和点标记: ```vue <template> <div ref="mapContainer" style="height: 400px;"></div> </template> <script> export default { data() { return { map: null, marker: null }; }, mounted() { this.initMap(); }, methods: { initMap() { this.map = new window.AMap.Map(this.$refs.mapContainer, { center: [116.397428, 39.90923], zoom: 13 }); this.marker = new window.AMap.Marker({ position: [116.397428, 39.90923], map: this.map, animation: 'AMAP_ANIMATION_DROP' }); this.marker.on('click', () => { this.marker.setAnimation('AMAP_ANIMATION_BOUNCE'); }); } } }; </script> ``` 在上面的代码中,首先在 mounted 钩子函数中调用 initMap 方法创建地图和点标记。在 initMap 方法中,我们通过创建 AMap.Map 实例来创建地图,并且通过创建 AMap.Marker 实例来创建点标记。在创建点标记候,我们设置了 animation 属性为 AMAP_ANIMATION_DROP,这样点标记就会在创建从天上掉下来。然后通过监听点标记的 click 事件,在回调函数中设置 animation 属性为 AMAP_ANIMATION_BOUNCE,这样点标记就会跳动起来。 注意,要让点标记跳动起来,需要在创建点标记设置 animation 属性为 AMAP_ANIMATION_BOUNCE。另外,在改变点标记的动画效果,需要通过 setAnimation 方法来设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值