小程序地图marker点击事件
在微信小程序中,地图上的 marker 点击事件可以通过在 map 组件中绑定 bindmarkertap 事件来实现
- 在页面的 WXML 文件中添加 map 组件,并设置 bindmarkertap 事件:
<map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" markers="{{markers}}" bindmarkertap="onMarkerTap" show-location="true"></map>
- 在页面的 JS 文件中,编写 onMarkerTap 事件处理函数:
Page({
data: {
latitude: 0,
longitude: 0,
markers: [{
id: 1,
latitude: 23.0997,
longitude: 113.3245,
title: '广州塔',
iconPath: '/resources/marker.png',
width: 30,
height: 30
}]
},
onReady: function () {
this.mapCtx = wx.createMapContext('map')
},
onMarkerTap: function (e) {
console.log('marker tap:', e)
wx.showToast({
title: '点击了标记:' + e.markerId,
icon: 'none'
})
}
})
在上面的代码中,onMarkerTap 函数会在用户点击 marker 时被调用,并且会接收到一个事件对象 e,其中包含了被点击的 marker 的信息,如 id、latitude、longitude 等。你可以根据这些信息来执行相应的操作,比如在这个例子中,我们弹出一个提示框,显示被点击的标记的 id。