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已经是最新版本
3 个回复
来来去去 (作者)
有人遇到 吗?
S1ow
与
将bd09ll修改为wgs84,试试吧
来来去去 (作者)
问题已解决,结论:
配置了百度sdk和map模块(理论上高德地图也是可以的,只是我没有配)
uni.getLocation依然只能拿到经纬度,没有address
吐槽:
真机调试时一切正常,打包就不行了。既然是需要配置地图模块,为真机调度要把地图模块自动加进去?调度和打包后的结果不一样,这让我们定位问题很麻烦