详细问题描述
用native.js获取用户GPS坐标,真机调试没问题,打包定位不了
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
function plusReady(){
nativeLoacation();
}
// Android处理返回键
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready',plusReady,false);
}
function nativeLoacation(){
var context = plus.android.importClass("android.content.Context");
var locationManager = plus.android.importClass("android.location.LocationManager");
var main = plus.android.runtimeMainActivity();
var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
alert(mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER));
// 定位方式有network和GPS两种
var locationListener = plus.android.implements("android.location.LocationListener", {
"onLocationChanged": function(location) {
var latitude = plus.android.invoke(location, "getLatitude");
var longitude = plus.android.invoke(location, "getLongitude");
var gpsLocation = "lat:"+ latitude+",lng:"+longitude;
alert(gpsLocation);
},
//GPS开启的时候调用
"onProviderEnabled": function(res) {
alert("GPS开启调用:"+JSON.stringify(res));
},
//GPS关闭的时候调用
"onProviderDisabled": function(res) {
alert("GPS定位模块关闭,将无法获取经纬度信息:"+JSON.stringify(res));
},
//当GPS状态发生改变的时候调用
"onStatusChanged": function(p, s, e) {
alert("位置变化:"+JSON.stringify(p));
}
});
// locationManager.GPS_PROVIDER 只使用GPS,locationManager参数可以自己百度
mainSvr.requestLocationUpdates(locationManager.GPS_PROVIDER, 2000, 0, locationListener);
}
重现步骤
[步骤]
真机调试能进入onLocationChanged方法里面并弹出经纬度
[结果]
[期望]
打包也能获取GPS坐标
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
HBuilderX
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
2.3.6.20191020
[windows版本号]
windows 10
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
9.1.0
[iOS版本号]
[手机型号]
荣耀10
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
https://service.dcloud.net.cn/build/download/e9855650-216c-11ea-8eca-b59a921cc672
[可重现代码片段]
联系方式
13609770026
[QQ]
714611763
0 个回复