完美解决原生小程序点击地图markers上的点获取不到对应的坐标信息

需求:地图上有多个markes点,点击每一个获取对应的数据,再根据当前的坐标信息去调用导航。
出现的问题:每次点击的时候获取不到对应的坐标信息,获取到的信息显然不是想要的


原因: 因为你的id不是number类型,官方要求你的markes列表中的id必须是number类型


解决办法:在获取到markes列表时,将id转成number类型,因为我这直接给的是index,因为我这的id不需要,所以没给,所以直接给一个index,index本身就是number类型,所以可以完美解决

wxml:

html 复制代码
<map bindmarkertap="goNavigation"
        longitude="{{longitude}}" latitude="{{latitude}}"
        scale="{{scale}}" data-lat="{{latitude}}" data-lon="{{longitude}}" markers="{{markers}}" show-location>
    </map>

JS:

javascript 复制代码
//这里是遍历markes数组的
var list = []
          res.data.list.forEach((item,index) => {
            var mapObj = {
              id:index,
              state:item.state,
              name:item.pointName,
              latitude:item.coordinate.split(',')[1],
              longitude:item.coordinate.split(',')[0],
              iconPath:item.state=='0'?'../../assets/images/state0.png':'../../assets/images/state1.png',
              distance:item.distance.toFixed(2),
              width:24,
              height:28,
              callout:{
                  content:item.pointName,color:'#666',fontSize:12,borderRadius:4,bgColor:'#fff',display:'ALWAYS',padding:5,anchorX:0,anchorY:-4,
              },
            }
            list.push(mapObj)
          });


//这个是点击方法
 goNavigation:function(e){
    console.log('点击了',e)
    const markerId = e.detail.markerId;
    console.log('markerId',markerId)
    const marker = this.data.markers.find(marker => marker.id === markerId);
    console.log('marker',this.data.markers)
    if (marker) {
      console.log('点击的坐标信息:', marker.latitude, marker.longitude);
      // 这里可以进一步处理坐标信息,例如打开详细信息页面等
    }
}

最终的结果 (#^.^#) ✿✿ヽ(°▽°)ノ✿

相关推荐
不爱编程的小九九几秒前
小九源码-springboot103-踏雪阁民宿订购平台
java·开发语言·spring boot
Elieal1 分钟前
Spring 框架核心技术全解析
java·spring·sqlserver
组合缺一1 分钟前
(对标 Spring)OpenSolon v3.7.0, v3.6.4, v3.5.8, v3.4.8 发布(支持 LTS)
java·后端·spring·web·solon
wheeldown17 分钟前
【Linux】Linux 地址空间 + 页表映射的概念解析
java·linux·jvm
源码宝22 分钟前
一套随访系统源码,医院随访管理系统源码,三级随访平台源码,技术框架:Java+Spring boot,Vue,Ant-Design+MySQL5
java·源码·软件开发·程序·随访·随访系统源码·三级随访
♡喜欢做梦23 分钟前
Spring IOC
java·后端·spring
拾忆,想起37 分钟前
TCP滑动窗口:网络世界的“智能流量阀门”
java·网络·数据库·网络协议·tcp/ip·php·哈希算法
摇滚侠42 分钟前
Spring Boot3零基础教程,Reactive-Stream 发布订阅写法,笔记104 笔记105
java·spring boot·笔记
说私域1 小时前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的赛道力构建与品牌发展研究
人工智能·小程序
laplace01233 小时前
Java八股—MySQL
java·mysql·oracle