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

鹰眼轨迹服务

百度鹰眼是一套轨迹追踪开放服务,开发者在终端集成鹰眼API/SDK 后,可同时管理并追踪数千万终端设备的轨迹,适用于车队管理、共享出行、外勤人员管理、智能穿戴等领域。

里程计算

鹰眼Android SDK提供了queryDistance()方法,用于计算指定时间段内的轨迹里程,支持:

计算纠偏后的里程

用路线规划补偿中断轨迹的里程
使用方法

与查询轨迹一样,里程计算也支持设置 isProcessed和processOption纠偏选项,纠正里程计算。详见轨迹纠偏的说明

除此之外,里程计算还提供里程补充功能,当轨迹中断5分钟以上,会被认为是一段中断轨迹,通过supplementMode参数可设置中断区间里程的计算方式,选项有:

no_supplement:不补充,中断两点间距离不记入里程。

straight:使用直线距离补充

driving:使用最短驾车路线距离补充

riding:使用最短骑行路线距离补充

walking:使用最短步行路线距离补充

开发者可以根据具体的业务场景选择合适的补充方式。
示例代码

请求12小时内的轨迹里程,并进行轨迹纠偏和驾车里程补偿。

// 请求标识
int tag = 2;
// 轨迹服务ID
long serviceId = 0;
// 设备标识
String entityName = "myTrace";
// 创建里程查询请求实例
DistanceRequest distanceRequest = new DistanceRequest(tag, serviceId, entityName);

// 开始时间(单位:秒)
long startTime = System.currentTimeMillis() / 1000 - 12 * 60 * 60;
// 结束时间(单位:秒)
long endTime = System.currentTimeMillis() / 1000;
// 设置开始时间
distanceRequest.setStartTime(startTime);
// 设置结束时间
distanceRequest.setEndTime(endTime);


// 设置需要纠偏
distanceRequest.setProcessed(true);



// 创建纠偏选项实例
ProcessOption processOption = new ProcessOption();
// 设置需要去噪
processOption.setNeedDenoise(true);
// 设置需要绑路
processOption.setNeedMapMatch(true);
// 设置交通方式为驾车
processOption.setTransportMode(TransportMode.driving);
// 设置纠偏选项
distanceRequest.setProcessOption(processOption);


// 设置里程填充方式为驾车
distanceRequest.setSupplementMode(SupplementMode.driving);


// 初始化轨迹监听器
OnTrackListener mTrackListener = new OnTrackListener() {
    // 里程回调
    @Override
    public void onDistanceCallback(DistanceResponse response) {}
};



// 查询里程
mTraceClient.queryDistance(distanceRequest, mTrackListener);