更新记录
1.0.0(2025-04-28)
新版发布
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.6.8,Android:5.0,iOS:12,HarmonyNext:支持 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
腾讯定位UTS插件接口文档
1. 腾讯定位UTS插件
<script>
//腾讯定位UTS插件
import * as TXLoc from "@/uni_modules/Lizii-TXLoc";
export default {
}
</script>
2. 隐私合规检查接口(必须)
<script>
//定位UTS插件
import * as TXLoc from "@/uni_modules/Lizii-TXLoc";
export default {
onLoad() {
//隐私合格检查接口
let isAgree = true;
TXLoc.setUserAgreePrivacy(isAgree);
}
}
</script>
3. 设置key(必须)
<script>
//定位UTS插件
import * as TXLoc from "@/uni_modules/Lizii-TXLoc";
export default {
onLoad() {
//隐私合格检查接口
let isAgree = true;
TXLoc.setUserAgreePrivacy(isAgree);
//设置apikey
let apiKey = "xxx";
TXLoc.setApiKey(apiKey);
}
}
</script>
4. 检查定位服务是否打开
//检查定位服务是否打开
var enable = TXLoc.locationServicesEnabled();//true:定位服务打开 false:定位服务关闭
5. 进入打开定位服务界面
//进入打开定位服务界面
TXLoc.openLocationSetting();
6. 检查定位权限
//检查定位权限是否授权,并申请定位权限
TXLoc.checkLocationPermission(function(res){
console.log(res);
if (res.result == true) {
} else {
//打开app设置界面 设置始终定位权限
TXLoc.openAppSetting();
}
});
7. 检查始终允许后台定位权限
//检查始终允许后台定位权限
TXLoc.checkAlwaysLocationPermission(function(res){
console.log(res);
if (res.result == true) {
} else {
//打开app设置界面 设置始终允许后台定位
TXLoc.openAppSetting();
}
});
8. 打开app设置界面
//打开app设置界面
TXLoc.openAppSetting();
9. 单次定位
//单次定位
TXLoc.getLocation({
options:{
requestLevel:1,//请求级别,默认0, 0=包含经纬度 1=包含经纬度, 位置名称, 位置地址 3=包含经纬度,位置所处的中国大陆行政区划
singleLocationTimeout:10000//单次定位超时时间,单位毫秒, 默认10000毫秒
},
onLocationSuccess: (location) => {
console.log(location);
//requestLevel=0,返回以下信息
let latitude = location.latitude;//纬度
let longitude = location.longitude;//经度
let altitude = location.altitude;//海拔
let speed = location.speed;//速度
let bearing = location.bearing;//方向
let time = locationa.time;//时间
//requestLevel=1,返回以下信息
let name = location.name;//名称
let address = locationa.address;//地址
//requestLevel=3,返回以下信息
let nation = location.nation;//国家
let province = locationa.province;//省
let city = locationa.city;//市
let district = locationa.district;//区
let town = locationa.town;//镇
let village = locationa.village;//村
let street = locationa.street;//街道
let streetNo = locationa.streetNo;//门号
},
onLocationFail: (errorCode, errorInfo) => {
console.log(errorCode);//错误码
console.log(errorInfo);//错误消息
}
});
10. 开启持续定位
//开启持续定位
TXLoc.startUpdatingLocation({
options:{
//coordinateType:0,//0=GCJ02 1=WGS84
requestLevel:0,//请求级别,默认0, 0=包含经纬度 1=包含经纬度, 位置名称, 位置地址 3=包含经纬度,位置所处的中国大陆行政区划
allowsBackgroundLocationUpdates:true,//是否开启后台定位,仅iOS和鸿蒙支持
interval:5000//定位时间间隔,单位毫秒
},
onLocationChanged: (location) => {
console.log(location);
//requestLevel=0,返回以下信息
let latitude = location.latitude;//纬度
let longitude = location.longitude;//经度
let altitude = location.altitude;//海拔
let speed = location.speed;//速度
let bearing = location.bearing;//方向
let time = locationa.time;//时间
//requestLevel=1,返回以下信息
let name = location.name;//名称
let address = locationa.address;//地址
//requestLevel=3,返回以下信息
let nation = location.nation;//国家
let province = locationa.province;//省
let city = locationa.city;//市
let district = locationa.district;//区
let town = locationa.town;//镇
let village = locationa.village;//村
let street = locationa.street;//街道
let streetNo = locationa.streetNo;//门号
},
onLocationFail: (errorCode, errorInfo) => {
console.log(errorCode);//错误码
console.log(errorInfo);//错误消息
}
});
11. 停止持续定位
//停止持续定位
TXLoc.stopUpdatingLocation();
12. 开启后台定位任务,该接口仅Android和鸿蒙支持
startBackgroundLocationTask() {
if (uni.getSystemInfoSync().platform == 'android') {
//检查是否允许通知,oppo vivo等部分手机默认不允许通知
if (TXLoc.areNotificationsEnabled()) {
//是否忽略电池优化,vivo部分手机需要忽略电池优化,保活才不被杀掉
if (TXLoc.isIgnoringBatteryOptimizations()) {
TXLoc.enableBackgroundLocation({
contentTitle:"默认app名称",
contentText:"正在后台运行"
});
//部分机型需要app打开自启动或允许后台实时活动
//TXLoc.openAutoStartSetting();
} else {
//请求忽略电池优化
TXLoc.requestIgnoreBatteryOptimizations();
}
} else {
//打开设置通知
TXLoc.openNotifySetting();
}
} else if (uni.getSystemInfoSync().platform == 'harmonyos') {
//开启后台定位任务
//如需在后台定位(后台定位需后台定位、后台运行权限),则要在应用切入后台前调用开启后台定位任务,
TXLoc.startBackgroundLocationTask();
}
}
13. 停止后台定位任务,该接口仅Android和鸿蒙支持
stopBackgroundLocationTask() {
if (uni.getSystemInfoSync().platform == 'android') {
//停止后台保活定位服务
var removeNotification = true;
TXLoc.disableBackgroundLocation(removeNotification);
} else if (uni.getSystemInfoSync().platform == 'harmonyos') {
//停止后台定位任务
//回到前台可以停止后台任务
TXLoc.stopBackgroundLocationTask();
}
}