更新记录

1.0.0(2025-04-28)

新版发布


平台兼容性

Vue2 Vue3
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();
    }
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

定位权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件自身不采集任何数据,插件使用的腾讯定位 SDK采集数据请参考其官方说明:https://https://lbs.qq.com

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问