更新记录

1.0.0(2023-06-17)

猎鹰轨迹初步集成


平台兼容性

Android Android CPU类型 iOS
适用版本区间:7.1 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


注意

使用插件后不能在manifest.json中的app模块配置里再勾选Geolocation,不然打包会失败。高德的apikey可在选择app原生插件配置时,选择好插件后会有填写对应的apikey

安卓权限配置,请在manifest.json中勾选配置

<!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!--用于访问网络,网络定位需要上网-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--用于读取手机当前的状态-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--用于写入缓存数据到扩展存储卡-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--用于申请调用A-GPS模块-->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <!--用于申请获取蓝牙信息进行室内定位-->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

引入插件配置高德apikey

const track = uni.requireNativePlugin("WHY-Track")

定位权限申请和监听回调

onLoad() {
   //授权
    track.checkPermission()
    //监听回调
    track.setOnTrackListener(res => {
         console.log('监听回调==========', res)
         if (res.key == "terminalID") { //保存终端ID
                uni.setStorageSync('tid', res.value)
         } else if (res.key == "trackID") { //保存轨迹ID
                uni.setStorageSync('trid', res.value)
         }
    })
}

上传轨迹

参数 必填 说明
sid 必填 服务ID,需要到高德Web服务里面的猎鹰服务去创建,注意:申请Web服务API类型KEY
tid tid和tidName必须有一个不为空 终端ID-每个用户的唯一识别号,需要自己保存
tidName tid和tidName必须有一个不为空 创建终端的唯一标识,创建成功在setOnTrackListener返回tid
trid 选填 轨迹ID,不传时会自动创建,创建成功在setOnTrackListener返回,需要自己保存
uploadLocation() {
     track.uploadTrack({
        'sid': '', 
        'tid':'', 
        'tidName': '',
        'trid':'',
     }, (res) => {
            console.log('初始化回调==========', res)
     })                     
}

查询终端当前位置

track.queryLatestPoint({
     'sid': '', //服务ID
     'tid': '' //需要查询的终端ID
}, (res) => {
    console.log('回调==========', res)
})              

查询某个终端特定轨迹的轨迹点

参数 必填 说明
sid 必填 服务ID
tid 必填 终端ID
trid 必填 轨迹ID,传-1表示查询所有轨迹,
startTime 选填 开始时间,Unix时间戳(轨迹点的定位时间),需要精准到毫秒
endTime 选填 结束时间,Unix时间戳(轨迹点的定位时间),需要精准到毫秒,结束时间不能大于当前时间,且距离开始时间不能超过24小时。若轨迹较多,建议将时间段进行拆分。
denoise 选填 是否抽稀去噪, 1: 去噪 0: 不去噪
mapmatch 选填 是否绑路, 1: 绑路 0: 不绑路 当开启绑路纠偏时,请将抽稀去噪同时开启绑路纠偏效果会更好;
threshold 选填 是否进行定位精度过滤,过滤掉定位精度较差的轨迹点,0:不过滤。 若只需保留 GPS 定位点,则建议设为20;若需保留GPS和Wi-Fi定位点,去除基站定位点,则建议设为100
drivemode 选填 交通方式,该参数决定纠偏策略,目前仅支持驾车模式 0: 驾车
recoup 选填 是否进行距离补偿, 1: 代表用驾车策略进行补点计算 0:代表用直线距离进行补点计算
gap 选填 距离补偿生效的点间距,单位为米,范围必须在50m~10km,当两点间距离超过该值时,将启用距离补偿计算两点间距离
ispoints 选填 是否返回轨迹包含的轨迹点内容,1表示返回,0表示不返回。分页当前仅对查询单条轨迹生效
page 选填 需要查询第几页数据。 最大值为100
pageSize 选填 每页返回点的个数,当page=1的时候起点、终点的个数不计算在内,pagesize最大值为999
track.queryTrackPoints({
     'sid': '', //服务ID
     'tid': '' //需要查询的终端ID
     'trid':'',
     'startTime': new Date().getTime()- 1000 * 60 * 60 * 12,
     'endTime': new Date().getTime(),
     'denoise': 0,
     'mapmatch': 0,
     'threshold': 0,
     'drivemode': 0,
     'recoup': 0,
     'gap': 5000,
     'ispoints': 1,
     'page': 1,
     'pageSize': 999
}, (res) => {
    console.log('回调==========', res)
})              

查询终端行驶里程

//初始化轨迹
track.queryDistance({
     'sid': '',//服务ID
     'tid': '',//终端ID
     'startTime': ''//开始时间,
     'endTime': ''//结束时间,
     'trid': '', //传-1表示包含散点在内的所有轨迹点
}, (res) => {
    console.log('回调==========', res)
})              

隐私、权限声明

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

高德猎鹰轨迹定位权限

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

插件自身不采集任何数据,插件使用的高德地图 SDK采集数据请参考其官方说明:https://lbs.amap.com

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

暂无用户评论。

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