浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WebAPI文档全面上新

新增示例代码、在线运行等功能,帮助您实现快速接入,前往体验吧!

体验新版
简介
鹰眼iOS SDK在网络不畅时,将采集到的轨迹持久化在客户端本地,称为轨迹缓存。鹰眼 iOS SDK v3.0以上版本提供了查询和清除本地缓存轨迹信息的方法:

查询缓存信息

通过 BTKTrackAction 类中的 -(void)queryTrackCacheInfoWith:(BTKQueryTrackCacheInfoRequest *)request delegate:(id<BTKTrackDelegate>)delegate; 方法,查询客户端缓存的轨迹数据所属的终端实体名称、时间段、轨迹点数量、轨迹里程等信息。

清空缓存

通过 BTKTrackAction 类中的 -(void)clearTrackCacheWith:(BTKClearTrackCacheRequest *)request delegate:(id<BTKTrackDelegate>)delegate; 方法,清空满足指定条件的轨迹缓存数据。
查询缓存信息

通过 -(void)queryTrackCacheInfoWith:(BTKQueryTrackCacheInfoRequest *)request delegate:(id<BTKTrackDelegate>)delegate; 方法,查询客户端缓存轨迹数据所属的终端实体名称、时间段、数量等信息;

以下代码片段表示,查询缓存在本机上的所有entity的时间段和轨迹点数量信息。

// 构造请求对象
BTKQueryTrackCacheInfoRequest *request = [[BTKQueryTrackCacheInfoRequest alloc] initWithEntityNames:nil serviceID:100000 tag:333];
// 发起请求
[[BTKTrackAction sharedInstance] queryTrackCacheInfoWith:request delegate:self];
查询缓存轨迹里程
自iOSv3.0.7版本起,支持缓存轨迹的里程查询。此功能主要是通过BTKQueryTrackCacheInfoRequest类的needDistance属性(bool类型)以及distanceFilter属性(double类型)来使用的:

needDistance属性(bool类型)
指定是否需要返回所查询的缓存的里程信息,默认为false,当指定此属性为true时,查询到的缓存信息结构不变,只不过在每个entity对应的缓存信息字典中,新增了一个distance字段,表示该entity符合条件的里程数(单位:米)。

distanceFilter属性(double类型)
由于缓存里程在SDK端离线计算,无法享受到鹰眼服务端强大的轨迹纠偏功能。不过开发者可以通过设置distanceFilter属性(double类型),在计算里程时将不符合预期定位精度的轨迹点排除掉。例如设置distanceFilter=60的话,则定位精度超过60米的轨迹点都不会参与该entity的离线里程计算。而如果开发者不设置此字段,或将此字段的值设置为0,则所有缓存的轨迹点都参与计算。

以下代码片段表示,查询缓存在本机上的属于 "robotA" 这个entity的缓存轨迹点数量及里程,定位精度超过10米的轨迹点都不参与里程计算:

// 构造请求对象
BTKQueryTrackCacheInfoRequest *request = [[BTKQueryTrackCacheInfoRequest alloc] initWithEntityNames:@"robotA" serviceID:100000 tag:333];
request.needDistance = YES;
request.distanceFilter = 10;
// 发起请求
[[BTKTrackAction sharedInstance] queryTrackCacheInfoWith:request delegate:self];
清空缓存信息

通过 -(void)clearTrackCacheWith:(BTKClearTrackCacheRequest *)request delegate:(id<BTKTrackDelegate>)delegate; 方法,清空客户端缓存的轨迹信息。

以下代码片段表示,清空缓存在本机上,属于 “entityA” 的前天的轨迹,以及属于 “entityB” 的昨天的轨迹。

NSUInteger now = [[NSDate date] timeIntervalSince1970];
// 设置entityA名下,要清空的轨迹缓存的起止时间
BTKClearTrackCacheOption *op1 = [[BTKClearTrackCacheOption alloc] initWithEntityName:@"entityA" startTime:(now - 84400 * 3) endTime:(now - 84400 * 2)];
// 设置entityA名下,要清空的轨迹缓存的起止时间
BTKClearTrackCacheOption *op2 = [[BTKClearTrackCacheOption alloc] initWithEntityName:@"entityB" startTime:(now - 84400 * 2) endTime:(now - 84400)];
// 设置清空的条件
NSMutableArray *options = [NSMutableArray arrayWithCapacity:2];
[options addObject:op1];
[options addObject:op2];
// 构造请求对象
BTKClearTrackCacheRequest *request = [[BTKClearTrackCacheRequest alloc] initWithOptions:options serviceID:100000 tag:33];
// 发起请求
[[BTKTrackAction sharedInstance] clearTrackCacheWith:request delegate:self];
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消