101 lines
3.0 KiB
Markdown
101 lines
3.0 KiB
Markdown
|
|
# xtf-gpslocation
|
|||
|
|
# android ios 原生gps 定位
|
|||
|
|
### 长期维护,有任何问题在插件群联系
|
|||
|
|
### 插件测试使用方法
|
|||
|
|
1. 选择试用,绑定要试用的项目appid,
|
|||
|
|
|
|||
|
|
2. 选择后下载到对应的本地项目,
|
|||
|
|
|
|||
|
|
3. 按照文档 -》把插件引入项目(即 import { KeepLive } from '@/uni_modules/android-keeplive' 需要先引入),
|
|||
|
|
|
|||
|
|
4. 发布-》云打包-》选择制作基座-》打包等基座制作完成
|
|||
|
|
|
|||
|
|
5. 运行 -》 运行到手机或模拟器-》运行到Androidapp基座-》选择使用自定义基座运行-》选择手机-》运行
|
|||
|
|
### 若长期无法获取到定位,请到室外进行定位 室内大概率无gps 信号
|
|||
|
|
### [推荐作者保活插件一起使用](https://ext.dcloud.net.cn/plugin?id=20316)
|
|||
|
|
### uniappx
|
|||
|
|
|
|||
|
|
~~~
|
|||
|
|
import { isProviderEnabled, openLocSetting, onStartLocs,LocData,stop,requestBackgroundLocPer,getLastLocations,LocationData} from "@/uni_modules/xtf-gpslocation"
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var on=isProviderEnabled();// 是否开启gps
|
|||
|
|
if(!on){
|
|||
|
|
openLocSetting();// 打开gps 设置
|
|||
|
|
}
|
|||
|
|
requestBackgroundLocPer();// 申请后台定位权限 无权限则申请,有权限则直接跳过
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 获取上次定位
|
|||
|
|
getLastLocations(function(loc:LocationData){
|
|||
|
|
console.log(loc)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
onStartLoc({
|
|||
|
|
backgroud:true,
|
|||
|
|
} as LocData,function(loc:LocationData){
|
|||
|
|
console.log(loc)
|
|||
|
|
})
|
|||
|
|
// stop(true);// 停止定位 参数为是否移除通知
|
|||
|
|
~~~
|
|||
|
|
|
|||
|
|
### uniapp
|
|||
|
|
|
|||
|
|
~~~
|
|||
|
|
import { isProviderEnabled, openLocSetting, onStartLocs,stop,requestBackgroundLocPer,getLastLocations} from "@/uni_modules/xtf-gpslocation"
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var on=isProviderEnabled();// 是否开启gps
|
|||
|
|
if(!on){
|
|||
|
|
openLocSetting();// 打开gps 设置
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
requestBackgroundLocPer();// 申请后台定位权限 无权限则申请,有权限则直接跳过
|
|||
|
|
// 获取上次定位
|
|||
|
|
getLastLocations(function(loc){
|
|||
|
|
console.log(loc)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
onStartLoc({
|
|||
|
|
backgroud:true,
|
|||
|
|
},function(loc){
|
|||
|
|
console.log(loc)
|
|||
|
|
})
|
|||
|
|
// stop(true);// 停止定位 参数为是否移除通知
|
|||
|
|
~~~
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
### 请求参数 LocData
|
|||
|
|
~~~
|
|||
|
|
export type LocData={
|
|||
|
|
title?:string,// 通知栏标题
|
|||
|
|
content?:string,// 通知栏内容
|
|||
|
|
notifationIconName?:string, // 通知栏icon名称 插件目录 /app-android/res/drawable/
|
|||
|
|
time?:number, // 定位时间间隔,默认0 为仅定位一次 时间为毫秒
|
|||
|
|
distance?:number,// 定位位置间隔距离 // 默认0
|
|||
|
|
backgroud?:boolean,// 是否是后台定位,
|
|||
|
|
getLastFast?:boolean,// 是否先获取上次定位 之后在返回新的定位 // 默认true
|
|||
|
|
};
|
|||
|
|
~~~
|
|||
|
|
### 返回参数 LocationData
|
|||
|
|
~~~
|
|||
|
|
export type LocationData={
|
|||
|
|
msg:string,// 消息
|
|||
|
|
type:number,// 0 是上一次的 1 是最新的 2 定位失败
|
|||
|
|
lat:number, //经度
|
|||
|
|
lng:number,//纬度
|
|||
|
|
speed:number,//速度
|
|||
|
|
altitude:number,//海拔
|
|||
|
|
bearing:number,// 方向
|
|||
|
|
};
|
|||
|
|
~~~
|
|||
|
|
|
|||
|
|
### 开发文档
|
|||
|
|
[UTS 语法](https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html)
|
|||
|
|
[UTS API插件](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html)
|
|||
|
|
[UTS uni-app兼容模式组件](https://uniapp.dcloud.net.cn/plugin/uts-component.html)
|
|||
|
|
[UTS 标准模式组件](https://doc.dcloud.net.cn/uni-app-x/plugin/uts-vue-component.html)
|
|||
|
|
[Hello UTS](https://gitcode.net/dcloud/hello-uts)
|