来来去去
来来去去
  • 发布:2019-08-20 23:21
  • 更新:2019-08-21 11:37
  • 阅读:995

定位不成功的情况

分类:uni-app

uniapp中用了

plus.geolocation.getCurrentPosition( function ( p ) {  
    if(p && p.address){                   
    }  
}, function ( e ) {  
    console.log(JSON.stringify(e))  
},{provider:'baidu',coordsType:'bd09ll'});

在真机调试的时候一切正常。
发包运行后定位死活就是不成功。
最近终于搞到错误日志:
{"code":17,"message":"only support wgs84"}
为什么会这样???
把provider去掉,coordsType用wgs84。
不报错了,但一直返回的定位是null

用的权限,因为permissions一直搞不明白,不知道是不是用少了或者用错什么了、

"permissions" : [  
                    "<uses-feature android:name=\"android.hardware.camera\"/>",  
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",  
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",  
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",  
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",  
                    "<uses-permission android:name=\"android.permission.INSTALL_LOCATION_PROVIDER\"/>",  
                    "<uses-permission android:name=\"android.permission.LOCATION_HARDWARE\"/>",  
                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",  
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_SYNC_STATS\"/>",  
                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",  
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",  
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",  
                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",  
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"  
                ]

另外:

uni.getLocation({  
    type: 'wgs84',  
    geocode:true,  
    success: function (res) {  
        console.log(JSON.stringify(res))  
        console.log('当前位置的经度:' + res.longitude);  
        console.log('当前位置的纬度:' + res.latitude);  
    }  
});

一直获取不到地址信息,只有经纬度。
hibuilderx已经是最新版本

2019-08-20 23:21 负责人:无 分享
已邀请:
来来去去

来来去去 (作者)

有人遇到 吗?

S1ow

S1ow

{"code":17,"message":"only support wgs84"}

{provider:'baidu',coordsType:'bd09ll'}

将bd09ll修改为wgs84,试试吧

来来去去

来来去去 (作者)

问题已解决,结论:
配置了百度sdk和map模块(理论上高德地图也是可以的,只是我没有配)
uni.getLocation依然只能拿到经纬度,没有address

吐槽:
真机调试时一切正常,打包就不行了。既然是需要配置地图模块,为真机调度要把地图模块自动加进去?调度和打包后的结果不一样,这让我们定位问题很麻烦

该问题目前已经被锁定, 无法添加新回复