···
uni.openLocation({
latitude: latitude,
longitude: longitude,
name: name,
address: pcaName,
success: () => {
console.log('success');
}
});
···

- 发布:2023-10-16 16:20
- 更新:2025-03-31 10:45
- 阅读:296
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 22H2
HBuilderX类型: 正式
HBuilderX版本号: 3.8.12
手机系统: iOS
手机系统版本号: iOS 17
手机厂商: 苹果
手机机型: iPhone12
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用谷歌地图打包app 使用uni.openLocation传入信息打开谷歌地图查看
使用谷歌地图打包app 使用uni.openLocation传入信息打开谷歌地图查看
预期结果:
谷歌地图的展示的位置和uni.openLocation页面的位置一致
谷歌地图的展示的位置和uni.openLocation页面的位置一致
实际结果:
谷歌地图的展示的位置和uni.openLocation页面的位置不一致
谷歌地图的展示的位置和uni.openLocation页面的位置不一致
bug描述:
在uni.openLocation页面位置显示的正确 点击右下角 选择谷歌地图 打卡的位置不正确 (根据规律猜测谷歌地图上显示的是uni.openLocation传的name的附近搜索结果的一个位置)

遇到了相同的问题,看了下目前的源码,打开谷歌地图时会传入 daddr 和 sll,daddr 传入的是 encodeURIComponent(name), sll 传入的是 encodeURIComponent(latitude + "," + longitude)) , 但是实际上 daddr 为路线搜索的终点(支持名称/经纬度格式),sll 只是提供搜索的推荐中心点,因此这里 daddr 应该设置为 经纬度格式
源码位置 https://github.com/dcloudio/uni-app/blob/next/packages/uni-app-plus/src/service/api/location/LocationViewPage.ts#L44
谷歌地图文档 https://developers.google.com/maps/documentation/urls/ios-urlscheme?hl=zh-cn