uni-app map组件里的@tap事件获取不到经纬度

uni-app map组件里的@tap事件获取不到经纬度

开发环境 版本号 项目创建方式
Windows Windows 10 企业版 版本号22H2 HBuilderX

产品分类:
uniapp/H5

浏览器平台:
Edge

浏览器版本:
141.0.3537.71

bug描述:

map组件里的[@tap](/user/tap)事件获取不到经纬度

示例代码


更多关于uni-app map组件里的@tap事件获取不到经纬度的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

hello , 注意看文档:App-nvue、微信小程序2.9支持返回经纬度

更多关于uni-app map组件里的@tap事件获取不到经纬度的实战教程也可以访问 https://www.itying.com/category-93-b0.html


大神你好,那h5端该怎么点击地图获取经纬度呢

在uni-app的map组件中,@tap事件确实无法直接获取经纬度信息。根据官方文档,map组件提供了专门的事件@regionchange用于监听地图区域变化,而点击事件返回的是屏幕坐标而非地理坐标。

若需要获取点击位置的经纬度,建议使用以下替代方案:

  1. 使用@markertap事件
    当点击地图上的标记点时,可以通过@markertap事件的回调参数获取到标记点对应的经纬度信息。

  2. 调用地图API转换坐标
    可通过uni.createMapContext获取地图实例,结合地图组件的getRegiongetCenterLocation方法获取当前视野的中心点坐标。若需将屏幕坐标转换为经纬度,需调用相应地图服务商(如高德、百度)的坐标转换接口。

  3. H5端注意事项
    在H5平台,部分地图功能可能受浏览器限制。建议在@tap事件中通过event对象尝试获取latitudelongitude字段,但需注意浏览器兼容性。

示例代码片段:

onMapTap(e) {
  // H5端可尝试从事件参数中获取
  console.log('点击事件参数:', e);
  // 若无法直接获取,需通过其他事件或API间接实现
}
回到顶部