用到map组件时,发现
bindmarkertap
和bindcallouttap
无效。解决方法:向markers数组里的每个Object添加一个字段id,且不能为空。
问题描述
今天学习到了map组件。
<map
id='map'
longitude="{{location.longitude}}"
latitude="{{location.latitude}}"
scale="{{scale}}"
markers="{{markers}}"
show-location='true'
style="width:100%;height:500px;"
bindmarkertap="onPointTap"
bindcallouttap="onPointTap"
></map>
真机调试已经显示标记点了,但不管怎么都调不起来绑定的onPointTap。
onPointTap: function(e) {
console.log(e)
wx.showToast({
title: 'test',
})
}
查了下发现时markers的问题。
-
问题markers
云开发的数据库 ,小程序向集合添加记录的时候,小程序后端会自动添加_openid和_id字段,所以我潜意识一直以为我已经为它设置了id,但实际上_id和id是不同的字段。
解决方法
-
向markers中的每个Object添加id
这时,单击地图上标记的点就会返回对应点的id。参照微信小程序map组件。