uni-app SDK 3.1.2.80668版本 使用百度定位无法获得当前位置信息

uni-app SDK 3.1.2.80668版本 使用百度定位无法获得当前位置信息

示例代码:

plus.geolocation.getCurrentPosition( function(position){  
    alert(position);          
}, function ( e ) {  
    alert("获取定位位置信息失败:"+e.message);  
},{geocode:true,provider:"baidu"});

操作步骤:

plus.geolocation.getCurrentPosition( function(position){  
    alert(position);          
}, function ( e ) {  
    alert("获取定位位置信息失败:"+e.message);  
},{geocode:true,provider:"baidu"});

预期结果:

  • 获得正确位置信息

实际结果:

  • 调用无反应,AS调试不报错

bug描述:

使用 SDK 3.1.2.80668版本 进行离线打包. plus.geolocation.getCurrentPosition 无法获得当前位置信息

使用 SDK 提供的 HBuilder-Hello 项目 也无法获取

安卓 6.0 10 11 均发现此问题


更多关于uni-app SDK 3.1.2.80668版本 使用百度定位无法获得当前位置信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app SDK 3.1.2.80668版本 使用百度定位无法获得当前位置信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app SDK 3.1.2.80668版本中,plus.geolocation.getCurrentPosition使用百度定位无响应的问题,通常由以下几个原因导致:

  1. 百度定位SDK配置缺失:离线打包需在原生工程中手动配置百度定位SDK。检查AndroidManifest.xml是否已添加百度定位所需的权限和meta-data配置:

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="您的百度地图AK"/>
    
  2. 权限未动态申请:Android 6.0+需动态申请定位权限。在调用定位前确认已通过uni.authorize或原生代码申请权限:

    uni.authorize({
        scope: 'scope.userLocation',
        success: () => plus.geolocation.getCurrentPosition(...)
    });
回到顶部