uniapp h5如何配置getlocation gcj02定位sdk信息

在uniapp开发的H5页面中,如何配置getlocation接口使用gcj02坐标系进行定位?需要引入哪些SDK或进行哪些配置才能实现?目前按官方文档尝试获取的坐标是WGS84格式,但业务要求必须使用火星坐标系(gcj02),求具体实现方法或代码示例。

2 回复

在uniapp的manifest.json中配置:

"h5": {
  "sdkConfigs": {
    "location": {
      "type": "gcj02"
    }
  }
}

同时确保已申请高德或腾讯地图的H5定位key,并在代码中调用uni.getLocation时指定type: 'gcj02'


在 UniApp H5 中配置 getLocation 使用 GCJ-02 坐标系,需在 manifest.json 中设置定位参数。以下是具体步骤:

  1. 修改 manifest.json 配置
    "h5" 节点下添加 "geolocation" 配置,指定类型为 "gcj02"

    {
      "h5": {
        "geolocation": {
          "type": "gcj02"
        }
      }
    }
    
  2. 调用 API 获取位置
    在页面中使用 uni.getLocation,无需额外传参(SDK 会自动使用 GCJ-02):

    uni.getLocation({
      success: (res) => {
        console.log('纬度:', res.latitude);
        console.log('经度:', res.longitude); // 坐标系为 GCJ-02
      },
      fail: (err) => {
        console.error('定位失败:', err);
      }
    });
    
  3. 注意事项

    • H5 兼容性:依赖浏览器定位权限,需用户授权。
    • 生产环境 HTTPS:H5 定位要求域名支持 HTTPS。
    • 真机调试:部分手机浏览器可能限制非 HTTPS 域的定位请求。

完成后,定位结果将自动转换为 GCJ-02 坐标系(适用于高德、腾讯等国内地图)。

回到顶部