var that = this;
var cllocationManger = plus.ios.import("CLLocationManager");
var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
if (enable && status != 2) {
uni.showModal({
title: '提示',
content: '手机系统的定位已经打开',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.getLocation({
type: "gcj02",
geocode: true,
altitude: true,
success(res) {
console.log("success---------1");
uni.showModal({
title: '获取定位成功',
content: JSON.stringify(res),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
fail(err) {
uni.showModal({
title: '获取定位失败',
content: JSON.stringify(err),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
console.log("手机系统的定位没有打开");
}
- 发布:2022-02-17 08:43
- 更新:2024-08-13 12:08
- 阅读:2606
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macOS Monterey
HBuilderX类型: 正式
HBuilderX版本号: 3.3.11
手机系统: iOS
手机系统版本号: iOS 12.4
手机厂商: 苹果
手机机型: iphone 6 plus
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
var that = this;
var cllocationManger = plus.ios.import("CLLocationManager");
var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
if (enable && status != 2) {
uni.showModal({
title: '提示',
content: '手机系统的定位已经打开',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.getLocation({
type: "gcj02",
geocode: true,
altitude: true,
success(res) {
console.log("success---------1");
uni.showModal({
title: '获取定位成功',
content: JSON.stringify(res),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
fail(err) {
uni.showModal({
title: '获取定位失败',
content: JSON.stringify(err),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
console.log("手机系统的定位没有打开");
}
var that = this;
var cllocationManger = plus.ios.import("CLLocationManager");
var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
if (enable && status != 2) {
uni.showModal({
title: '提示',
content: '手机系统的定位已经打开',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.getLocation({
type: "gcj02",
geocode: true,
altitude: true,
success(res) {
console.log("success---------1");
uni.showModal({
title: '获取定位成功',
content: JSON.stringify(res),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
fail(err) {
uni.showModal({
title: '获取定位失败',
content: JSON.stringify(err),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
console.log("手机系统的定位没有打开");
}
预期结果:
在iOS真机和模拟器 定位功能正常使用
在iOS真机和模拟器 定位功能正常使用
实际结果:
在iOS真机和模拟器 定位功能不正常,错误提示:{"errMsg":"getLocation:fail Error Domain=PGLocation Code=2 \"不能获取到位置\" UserInfo={NSLocalizedDescription=不能获取到位置},https://ask.dcloud.net.cn/article/282","errCode":-1502,"code":-1502}
在iOS真机和模拟器 定位功能不正常,错误提示:{"errMsg":"getLocation:fail Error Domain=PGLocation Code=2 \"不能获取到位置\" UserInfo={NSLocalizedDescription=不能获取到位置},https://ask.dcloud.net.cn/article/282","errCode":-1502,"code":-1502}
bug描述:
在iOS真机和模拟器中,uni.getLocation始终获取不到位置
错误提示为:“{"errMsg":"getLocation:fail Error Domain=PGLocation Code=2 \"不能获取到位置\" UserInfo={NSLocalizedDescription=不能获取到位置},https://ask.dcloud.net.cn/article/282","errCode":-1502,"code":-1502}”
源码如下:
var that = this;
var cllocationManger = plus.ios.import("CLLocationManager");
var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
if (enable && status != 2) {
uni.showModal({
title: '提示',
content: '手机系统的定位已经打开',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.getLocation({
type: "gcj02",
geocode: true,
altitude: true,
success(res) {
console.log("success---------1");
uni.showModal({
title: '获取定位成功',
content: JSON.stringify(res),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
fail(err) {
uni.showModal({
title: '获取定位失败',
content: JSON.stringify(err),
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
console.log("手机系统的定位没有打开");
}
确实。我也存在这个问题。ios 基座 无法获取定位。HBuilderX 4.15 ios版本 17.5.1
提示:
定位获取失败,请打开GPS定位, {"errMsg":"getLocation:fail Error Domain=PGLocation Code=2 \"不能获取到位置\" UserInfo={NSLocalizedDescription=不能获取到位置},https://ask.dcloud.net.cn/article/282","errCode":-1502,"code":-1502}
uni.getLocation({
type: "gcj02",
geocode: true,
success: function(res) {
let patt = new RegExp("-");
let getGps=that.isNumber(res.latitude)&&that.isNumber(res.longitude);
log(getGps+"getLocation====>"+res.latitude+","+res.longitude);
if (!getGps) {
showMsg("定位获取失败,请打开GPS定位");
} else {
that.imageText.imagelat = res.latitude;
that.imageText.imagelng = res.longitude;
log("getLocation====>"+that.imageText.imagelat+","+that.imageText.imagelng);
that.openCameraSuccess(); //获取经纬度成功 打开相机
}
},
fail: function(e) {
**showMsg("定位获取失败,请打开GPS定位",e);**
},
});
1***@qq.com (作者)
换下bundle id 和 amapkey
2022-02-17 11:34