uni-app 百度地图 uni.openLocation 打开白屏

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 百度地图 uni.openLocation 打开白屏

示例代码:

uni.openLocation({
    longitude: lng,
    latitude: lat,
    name: name,
    address: address,
    success: function(res) {
        console.log(res);
    },
    fail:function(err){
        console.log(err);
    }
});

操作步骤:

  • 百度地图 调用openLocation,空白

预期结果:

  • 正常显示地图

实际结果:

  • 空白不显示地图

bug描述:

  • app 模块配置的百度地图, uni.openLocation 打开白屏,可以正常打开第三方地图导航,android ios都有问题
信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 11
HBuilderX类型 正式
HBuilderX版本号 4.14
手机系统 Android
手机系统版本号 Android 9.0
手机厂商 小米
手机机型 6
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

2 回复

经纬度传反了


在开发uni-app应用时,如果遇到使用uni.openLocation打开百度地图时出现白屏的问题,通常可能是由于多种原因导致的,包括API权限设置、参数传递错误、SDK版本不匹配等。下面是一些可能的解决方案和代码示例,帮助你定位和解决问题。

1. 检查API权限和SDK版本

确保你的应用已经正确配置了百度地图的API Key,并且使用的SDK版本与百度地图服务兼容。你可以在manifest.json中配置相关权限和SDK版本。

{
  "mp-weixin": {
    "appid": "your-app-id",
    "setting": {
      "urlCheck": false
    },
    "usingComponents": true,
    "permission": {
      "scope.userLocation": {
        "desc": "你的位置信息将用于小程序位置接口的效果展示"
      }
    }
  },
  "plugins": {
    "baidu-map": {
      "version": "1.5.0", // 确保使用兼容的版本
      "provider": "wxa3c9a95de6478xxx" // 替换为你的百度地图插件ID
    }
  }
}

2. 检查uni.openLocation调用参数

确保你传递给uni.openLocation的参数是正确且完整的。以下是一个示例代码:

uni.getLocation({
  type: 'gcj02', // 坐标系,百度地图使用gcj02
  success: function (res) {
    const location = {
      latitude: res.latitude,
      longitude: res.longitude,
      scale: 18, // 缩放级别
      name: '目标地点名称', // 地点名称
      address: '目标地点详细地址' // 详细地址
    };
    uni.openLocation({
      latitude: location.latitude,
      longitude: location.longitude,
      scale: location.scale,
      name: location.name,
      address: location.address
    });
  },
  fail: function (err) {
    console.error('获取位置失败:', err);
  }
});

3. 调试和日志

如果上述步骤仍然无法解决问题,建议使用开发者工具进行调试,查看控制台是否有错误信息。同时,检查网络请求日志,确认是否成功调用了百度地图的API。

4. 注意事项

  • 确保设备已经授予应用定位权限。
  • 如果在H5平台运行,uni.openLocation可能不支持直接打开地图应用,需要引导用户使用浏览器内置地图功能或提供链接让用户手动打开。

通过上述步骤,你应该能够定位和解决uni.openLocation打开百度地图时出现白屏的问题。如果问题依旧存在,建议查阅uni-app和百度地图的官方文档,或向社区和开发者论坛求助。

回到顶部