微信小程序:map的bindmarkertap和bindcallouttap属性无效 已解决

时间:2024-03-24 18:52:36

用到map组件时,发现bindmarkertapbindcallouttap无效。解决方法:向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
    微信小程序:map的bindmarkertap和bindcallouttap属性无效 已解决
    云开发的数据库 ,小程序向集合添加记录的时候,小程序后端会自动添加_openid和_id字段,所以我潜意识一直以为我已经为它设置了id,但实际上_id和id是不同的字段。

解决方法

  • 向markers中的每个Object添加id
    微信小程序:map的bindmarkertap和bindcallouttap属性无效 已解决
    这时,单击地图上标记的点就会返回对应点的id。参照微信小程序map组件
    微信小程序:map的bindmarkertap和bindcallouttap属性无效 已解决