amapTrack
概述
amapTrack 该模块封装了高德地图的猎鹰轨迹管理服务,支持实时轨迹追踪、历史轨迹查询等服务
配置 config.xml
文件:
针对 ios 平台配置方法:
- 配置示例:
<preference name="backgroundMode" value="location"/>
<feature name="amapTrack">
<param name="key" value="b2023349a4804b7d49f41597a6f62a4a"/>
</feature>
Android 配置方法
<meta-data
name="com.amap.api.v2.apikey"
value="xxxxxxxxxxxxxx" />
字段描述:
com.amap.api.v2.apikey:(必须配置)高德开放平台 获取应用key
模块接口
initAmapTrack
初始化
initAmapTrack({params})
params
serviceID:
- 类型:字符串
- 描述:服务ID,由服务端获取,创建请参考猎鹰 rest api接口,仅支持iOS端
gatherTimeInterval:
- 类型:数字类型
- 描述:(可选项)定位信息的采集周期,单位秒,有效值范围[1, 60]
- 默认值:2
packTimeInterval:
- 类型:数字类型
- 描述:(可选项)定位信息的上传周期,单位秒,有效值范围[5, 3000]
- 默认值:20
maxSize:
- 类型:数字类型
- 描述:(可选项)正常上报轨迹点时将未成功上报的轨迹点缓存在本地,默认最多缓存50MB数据
- 默认值:50
locationMode:
- 类型:数字类型
- 描述:(可选项)定位模式(仅android支持)
- 默认值:1
- 取值范围:
- 1:高精度定位模式:在这种定位模式下,将同时使用高德网络定位和GPS定位,优先返回精度高的定位
- 2:仅设备定位模式:在这种模式下,将只使用GPS定位。
- 3:低功耗定位模式:在这种模式下,将只使用高德网络定位
accuracy:
- 类型:字符串
- 描述:设定定位精度(仅iOS支持)
- 默认值:hundredMeters
- 取值范围:
- tenMeters:十米
- hundredMeters:百米
- kilometer:千米
- threeKilometers:三千米
- best:精确度最高
filter:
- 类型:数字
- 描述:位置更新所需最小距离(单位米),定位服务会尽可能去获取满足desiredAccuracy的定位结果,但不保证一定会得到满足期望的结果。(仅iOS支持)
- 默认值:1.0
示例代码
var name = api.require('amapTrack');
name.initAmapTrack({
serviceID:'',
gatherTimeInterval:2,
packTimeInterval:20,
maxSize:50
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startGather
开启猎鹰服务
startGather({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰 rest api接口(仅Android支持),iOS端为initAmapTrack时的servideid
terminalId:
- 类型:数字类型
- 描述:终端id
trackId:
- 类型:数字类型
- 描述:指定轨迹id
示例代码
var name = api.require('amapTrack');
name.startGather({
trackId:,
serviceID:,
terminalId:,
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopGather
停止猎鹰服务
stopGather()
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口(仅Android支持),iOS端为initAmapTrack时的
terminalId:
- 类型:数字类型
- 描述:终端id(仅android支持),iOS端关闭startGather时传入的id
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.stopGather({
serviceID:,
terminalId,
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startUpload
开启收集上报
startUpload()
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.startUpload();
可用性
iOS 系统,Android 系统 可提供的 1.0.0 及更高版本
stopUpload
停止收集上报
stopUpload()
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.stopUpload();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
setTrackLifecycleListener
设置开启服务、轨迹上传等监听
setTrackLifecycleListener(callback(ret))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true成功,false失败
type:, //字符串类型:返回事件类型
‘BindServiceCallback’:绑定服务回调,仅支持Android端
‘StartGatherCallback’:定位采集开启回调
‘StartTrackCallback’:服务启动回调
‘StopGatherCallback’:定位采集关闭回调
‘StopTrackCallback’:服务关闭回调
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息,仅支持Android
errorCode: //数字类型;仅支持iOS,详情见附件错误码列表
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.setTrackLifecycleListener(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
addTerminal
增加Terminal
addTerminal({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口,iOS端默认为initAmapTrack时的servideid
terminalName:
- 类型:字符串
- 描述:要增加的终端名称
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true成功,false失败
terminalId:, //数字类型;终端id
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.addTerminal({
terminalName:'',
serviceID:,
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
addTrack
添加轨迹
addTrack({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口,iOS端默认为initAmapTrack时的servideid
terminalId:
- 类型:数字类型
- 描述:终端id
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true成功,false失败
trackId:, //数字类型;轨迹id
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.addTrack({
terminalId:,
serviceID:,
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
queryTerminal
查询终端,添加之后才会存在
queryTerminal({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口
terminalName:
- 类型:字符串
- 描述:要查询的终端名称,若terminalId有值则忽略本参数
terminalId:
- 类型:字符串
- 描述:终端id,仅支持iOS
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true成功,false失败
terminalId:, //数字类型;终端id,仅支持Android端
terminals:[{ //数组类型;,仅支持iOS端
terminalId:, //字符串类型;
terminalName:,//字符串类型;
desc:, //字符串类型;description信息
createTime:, //数字类型;创建时间,单位毫秒
locateTime //数字类型;最后定位时间,单位毫秒
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.queryTerminal({
terminalName:'',
serviceID:,
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getNewLocation
获取终端实时位置(最新位置)
getNewLocation(callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口
terminalId:
- 类型:数字类型
- 描述:终端id
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true成功,false失败
data: //JSON对象
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.getNewLocation(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getMileage
获取终端行驶里程
getMileage({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口(仅Android支持)
terminalId:
- 类型:数字类型
- 描述:终端id(仅android支持)
trackId
- 类型:数字类型
- 描述:(可选项)轨迹id,(仅android支持)
- 默认:-1,-1表示包含散点在内的所有轨迹点
hours:
- 类型:数字类型
- 默认: 1小时
- 描述:终端在最近几个小时内的行驶里程
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true成功,false失败
data: //JSON对象
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.getMileage({
serviceID:,
terminalId:,
trackId:,
hours:1,
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getHistoryTrajectory
获取终端的历史轨迹
getHistoryTrajectory({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口(仅Android支持)
terminalId:
- 类型:数字类型
- 描述:终端id
hours:
- 类型:数字类型
- 默认: 1小时
- 描述:终端在最近几个小时内的行驶里程
isTrack:
- 类型:布尔类型
- 默认: false
- 描述:是否包含散点,仅支持android端
trackID:
- 类型:字符串
- 描述:您要查询的轨迹(track id);当isTrack为true时,此参数必须填写
denoise:
- 类型:数字类型
- 描述:(可选项)是否去噪(仅android支持)
- 取值范围:0:不去噪,1:去噪
- 默认值:0
threshold:
- 类型:数字类型
- 描述:(可选项)是否进行精度过滤(仅android支持)
- 取值范围:0:不过滤,1:过滤
- 默认值:0
mapmatch:
- 类型:数字类型
- 描述:(可选项)是否绑路
- 取值范围:0:不绑路,1:绑路
- 默认值:0
ispoints:
- 类型:数字类型
- 描述:(可选项)是否返回轨迹包含的轨迹点内容
- 取值范围:0:不返回,1:返回
- 默认值:0
recoup:
- 类型:数字类型
- 描述:(可选项)是否进行距离补偿
- 取值范围:0:不补偿,1:补偿
- 默认值:0
gap:
- 类型:数字类型
- 描述:(可选项)距离补偿生效点间距,单位:米
- 默认值:5000
page:
- 类型:数字类型
- 描述:(可选项)第几页数据,分页当前仅对查询单条轨迹生效
- 默认值:1
pageSize:
- 类型:数字类型
- 描述:(可选项)每页点个数,分页当前仅对查询单条轨迹生效
- 取值范围:1-1000
- 默认值:100
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true成功,false失败
data: //JSON对象
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.getHistoryTrajectory({
serviceID:,
terminalId:,
hours:1,
isTrack:false,
trackID:''
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
queryHistoryTrack
查询终端所有轨迹点
queryHistoryTrack({params}, callback(ret))
params
serviceID:
- 类型:数字类型
- 描述:服务ID,由服务端获取,创建请参考猎鹰rest api接口
terminalId:
- 类型:数字类型
- 描述:终端id
hours:
- 类型:数字类型
- 默认: 1小时
- 描述:终端在最近几个小时内的行驶里程
orde:
- 类型:数字类型
- 描述:(可选项)排序规则
- 取值范围:0:由旧到新,1:由新到旧
- 默认值:0
mapmatch:
- 类型:数字类型
- 描述:(可选项)是否绑路
- 取值范围:0:不绑路,1:绑路
- 默认值:0
recoup:
- 类型:数字类型
- 描述:(可选项)是否进行距离补偿
- 取值范围:0:不补偿,1:补偿
- 默认值:0
gap:
- 类型:数字类型
- 描述:(可选项)距离补偿生效点间距,单位:米
- 默认值:5000
page:
- 类型:数字类型
- 描述:(可选项)第几页数据,分页当前仅对查询单条轨迹生效
- 默认值:1
pageSize:
- 类型:数字类型
- 描述:(可选项)每页点个数,分页当前仅对查询单条轨迹生效
- 取值范围:1-1000
- 默认值:100
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true成功,false失败
data: //JSON对象
}
示例代码
var amapTrack = api.require('amapTrack');
amapTrack.queryHistoryTrack({
serviceID:,
terminalId,
hours:1,
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
错误码
errorCode: //数字类型; 100,///< 未知错误 101,///< option包含错误参数 102,///< service已经启动 103,///< service已经停止 104,///< gather已经开始 105,///< gather已经停止 106,///< 没有定位权限 107,///< 获取定位失败
1800,///< 服务返回数据为空
1801,///< 协议解析错误,通常是返回结果无法解析
1802,///< 连接超时
1803,///< URL异常
1804,///< 找不到主机
1805,///< 服务器连接失败
1806,///< 连接异常,通常为没有网络的情况
1807,///< 连接取消
2031,///< 自定义参数获取异常
10000,///< 没有错误
10001,///< key非法或过期
10002,///< 没有权限使用相应的接口
10003,///< 访问已超出日访问量
10004,///< 用户访问过于频繁
10005,///< 用户IP无效
10006,///< 用户域名无效
10007,///< 无效签名
10008,///< 安全码验证错误,bundleID与key不对应
10009,///< 请求key与绑定平台不符
10010,///< IP请求超限
10011,///< 不支持HTTPS请求
10012,///< 权限不足,服务请求被拒绝
10013,///< 开发者key被删除,无法正常使用
10014,///< QPS超出限制
10015,///< 单机QPS限流限制
10016,///< 服务器负载过高
10017,///< 所请求的资源不可用
20000,///< 请求参数非法
20001,///< 缺少必填参数
20002,///< 请求协议非法
20003,///< 其他服务端未知错误
20009,///< 请求包含重复元素
20010,///< 请求的元素不存在
20050,///< service不存在
20051,///< ternimal不存在
20100,///< 部分point上传失败
20101,///< 所有point上传失败
20150,///< 数量超过限制