百度地图 API
  1. 功能说明
百度地图 API
  • 获取密钥
    • 获取秘钥
  • 地点检索
    • 地点检索V2.0
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 资源下载
      • 行政区划区域检索
      • 圆形区域检索
      • 地点详情检索
  • 地点输入提示
    • 地点输入提示V2.0
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 地点输入提示接口
  • 正/逆地理编码
    • 地理编码
      • 服务介绍
      • 使用指南
      • 常用问题
      • 更新日志
      • 资源下载
      • 地理编码
    • 全球逆地理编码
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 逆地理编码
  • 轻量级轨迹服务
    • 轨迹纠偏API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轨迹纠偏
    • 轨迹重合率分析API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轨迹重合率分析API
    • 轨迹分析API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轻量轨迹分析API
  • 道路信息预警服务
    • 超速判断API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 超速判断API
  • 路线规划
    • 轻量级路线规划
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 服务文档
      • 驾车路线规划
      • 骑行路线规划
      • 步行路线规划
      • 公交路线规划
    • 路线规划
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 服务文档
      • 摩托车路线规划
      • 公交路线规划
      • 骑行路线规划
      • 驾车路线规划
    • 货车路线规划
      • 服务介绍
      • 使用指南
      • 常用问题
      • 更新日志
      • 服务文档
      • 货车路线规划
  • 智能调度
    • 路网矩阵API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 路网创建接口
      • 路网查询接口
      • 路网新增/减少网点/更新网点坐标
      • 网点线路更新
      • 路网删除
      • 路网任务执行时间查询接口
      • 路网任务权重修改接口
    • 排单排线API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 排单排线计算
      • 排单排线查询
      • 线内优化排单计算
      • 线内优化结果查询
      • 多点有序排单计算
      • 多点有序排单查询
    • 快速排单API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 快速排单计算
      • 快速排单查询
    • 多仓排单API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 多仓排单排线计算
      • 多仓排单排线查询
  • 私有化图层
    • 私有化地址库
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
    • 私有化路线库
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
  • 天气查询
    • 国内天气查询
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 基础服务
      • 高级权限(国内经纬度天气查询)
    • 海外天气查询
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 基础服务
      • 高级权限(海外经纬度天气查询)
  • 批量算路
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务地址批量算路
  • 货车批量算路
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 货车路线规划
  • 地址解析聚合
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 地址解析聚合
  • 城乡类型判别
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 城乡类别判别
  • 行政区划查询服务
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 行政区划查询服务
  • 区域边界查询服务
    • 服务介绍
  • 普通IP定位
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 普通IP定位
  • 智能硬件定位
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 智能硬件定位
  • 鹰眼轨迹
    • 概述
    • 常见问题
    • 更新日志
    • 相关下载
    • 获取密钥
      • 获取密钥
    • 开发指南
      • 账号和获取密钥
      • 鹰眼基本概念
      • 权限和配额
      • Hello鹰眼
      • 连接设备
      • 轨迹追踪
      • 轨迹存储
      • 轨迹查询
      • 轨迹纠偏
      • 空间搜索
      • 地理围栏
      • 轨迹分析
      • 经验行为分析
      • 交通方式识别
      • 图像存储
      • 全球轨迹服务
      • 轨迹管理台使用手册
      • 轨迹管理台开源代码
    • 行业解决方案
      • 物流车队管理方案
    • 鹰眼Web服务API
      • 接口总览
      • 附录
      • 终端管理
        • 终端管理
        • 添加entity
        • 更新entity
        • 删除entity
        • 查询entity
      • 空间搜索
        • 空间搜索
        • 关键字搜索
        • 矩形范围搜索
        • 周边搜索
        • 多边形搜索
        • 行政区搜索
      • 轨迹上传
        • 轨迹上传
        • 上传单个轨迹点
        • 批量添加轨迹点
      • 轨迹查询和纠偏
        • 轨迹查询和纠偏
        • 实时纠偏
        • 查询轨迹里程
        • 轨迹查询与纠偏
      • 轨迹分析
        • 轨迹分析
        • 停留点查询
        • 驾驶行为分析
      • 经验行为分析
        • 经验行为分析
        • createjob接口创建任务
        • getjob接口定期查询任务
      • ETC费用
        • ETC费用
        • 货车ETC费用
        • 乘用车ETC费用
      • 地理围栏管理
        • 地理围栏管理
        • 创建圆形围栏
        • 更新圆形围栏
        • 创建多边形围栏
        • 更新多边形围栏
        • 创建线型围栏
        • 更新线型围栏
        • 创建行政区划围栏
        • 更新行政区划围栏
        • 删除围栏
        • 删除围栏可去除监控的entity
        • 增加围栏需监控的entity
        • 查询围栏
        • 查询围栏监控的所有entity
      • 地理围栏报警
        • 地理围栏报警
        • 查询监控对象相对围栏的状态
        • 根据坐标查询监控对象相对围栏的状态
        • 查询某监控对象的围栏报警信息
        • 批量查询所有围栏报警信息
      • 批量导出轨迹
        • 批量导出轨迹
        • 创建任务
        • 删除任务
        • 查询任务
      • 历史轨迹搜索
        • 历史轨迹搜索
        • 创建检索任务
        • 查询搜索
        • 删除搜索任务
      • 自定义属性字段
        • 自定义属性字段
      • 坐标系说明
        • 坐标系说明
    • 鹰眼Android SDK
      • 概述
      • 获取密钥
      • 更新日志
      • 相关下载
      • Web轨迹管理台
      • 开发指南
        • 快速入门
          • 简介
          • 账号和获取密钥
          • 创建鹰眼服务
          • 鹰眼基本概念
          • 权限和配额
          • 配置工程
          • 隐私合规接口
          • Hello Trace
        • 功能说明
          • 轨迹追踪
          • 缓存轨迹处理
          • 空间搜索
          • 轨迹查询
          • 轨迹纠偏
          • 里程计算
          • 轨迹分析
          • 地理围栏
          • 图像存储
        • 其他说明
          • 服务的存活
          • 电量和流量
          • 运营商网络
          • 坐标系说明
    • 鹰眼iOS SDK
      • 概述
      • 获取密钥
      • 更新日志
      • 相关下载
      • Web轨迹管理台
      • 开发指南
        • 快速入门
          • 简介
          • 账号和获取密钥
          • 创建鹰眼服务
          • 鹰眼基本概念
          • 权限和配额
          • 配置工程
          • CocoaPods自动配置
          • 隐私合规接口说明
        • 功能说明
          • 轨迹追踪
          • 缓存轨迹处理
          • 空间搜索
          • 轨迹查询与纠偏
          • 里程计算
          • 地理围栏
          • 轨迹分析
        • 其他说明
          • 运营商网络
          • 坐标系说明
    • 鹰眼硬件设备
      • 鹰眼硬件产品概览
      • 博实结BSJ-M11
      • 成为CW-601E
      • 北斗易通E-198A
    • Web轨迹管理台
      • Web轨迹管理台
  • 实时路况查询
    • 服务介绍
    • 服务文档
    • 使用指南
    • 更新日志
    • 道路路况查询
    • 矩形区域路况查询
    • 多边形区域路况查询
    • 周边路况查询
  • 时区
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常用问题
    • 更新日志
    • 时区
  • 批量服务
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 批量服务
  • 推荐上车点
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 推荐上车点
  • 坐标转换
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 坐标转换
  • 地图调起
    • 服务介绍
    • 常见问题
    • 更新日志
    • 相关下载
    • 开发指南
      • 简介
      • Hello World
    • 接口说明
      • web端
      • android端
      • iOS端
      • 地图标点功能
      • 地址解析
      • 反向地址解析
      • POI地点检索
      • 公交、地铁线路查询
      • 公交、驾车、步行路线规划
      • POI详情页展示
      • 全景服务
      • 展示地图
      • 自定义打点
      • 展现地图图区
      • 地址解析
      • 附近搜索
      • 驾车导航
      • 骑行导航
      • 步行导航
      • 导航到家
      • 调起离线导航包下载页面
      • 路线(出行)页面调起协议
      • 跳转出行早晚报页面
      • 跳转行程助手主页或者编辑页
      • 实时公交页面
      • 离线地图下载页面
      • 实时汇率页面
      • 实时翻译页面
      • 电子狗功能
      • 路况页面协议
      • AR识楼
      • 地铁图
      • IOS地图标注
      • iOS显示主图区
      • ios地址解析
      • ios反向地址解析
      • ios-POI(地点)搜索
      • ios用户位置附近检索
      • ios路线规划
      • ios公交、地铁线路查询
      • ios驾车导航
      • ios骑行导航
      • ios步行导航
      • ios-POI详情页展示
  • 静态图
    • 服务介绍
    • 服务文档
    • 可视化工具
    • 使用指南
  • 全景静态图
    • 功能介绍
    • 服务文档
    • 使用指南
  • 附录
    • 状态码定义
  • 概述
    • 概述
  1. 功能说明

轨迹追踪

简介

鹰眼Android SDK可根据开发者设置的定位和回传频率,自动采集并回传轨迹。

开发者通过在APP中调用startTrace()和stopTrace()方法,来控制何时开始轨迹采集、何时停止轨迹采集。

注意:
开发者在百度地图鹰眼自行上传数据与百度地图开放平台无关,开发者应对上传数据的合法性负责,并确保不侵犯他人合法权益。若上传数据包含用户隐私信息,包括但不限于用户名、手机号、身份ID等,请开发者确保已获取用户的授权同意并由开发者自行加密以保障用户隐私安全,百度地图开放平台不对开发者自行上传的用户数据进行校验和加密。

最基础的轨迹追踪

实现最简单的轨迹追踪功能,请参见Hello Trace部分示例,在此不作重复说明。

设置轨迹定位周期和回传周期

概念:

定位周期:多久定位一次,在定位周期大于15s时,SDK会将定位周期设置为5的倍数(如设置采集周期为18s,SDK会调整为15s;设置为33s,SDK会调整为30s)

回传周期:鹰眼为节省电量和流量,并不是定位一次就回传一次数据,而是隔段时间将一批定位数据打包压缩回传。(回传周期最大不要超过定位周期的10倍,例如,定位周期为5s,则回传周期最好不要大于50s)
注意:回传周期不能小于定位周期,否则回传不生效;回传周期建议设置为定位周期的整数倍。​

使用方法:

可以在开启服务前或在服务运行过程中动态设置定位和回传周期,设置完成后一旦进入下一采集周期即生效。开发者可自行判断终端的运动速度和状态,动态调整定位周期。使用示例:

//位置采集周期
int gatherInterval = 2;
//打包周期
int packInterval = 12;
//设置位置采集和打包周期
client.setInterval(gatherInterval, packInterval);

轨迹点自定义属性数据上传

轨迹中的每个位置点可拥有一系列开发者自定义的描述字段,如汽车的电量、发动机转速等,用以记录行程中的实时状态信息。鹰眼既支持结构化的自定义字段,也支持图像这样的对象类型数据。

为实现自定义属性数据上传,开发者须重写OnCustomAttributeListener监听器中的onTrackAttributeCallback()接口,调用 LBSTraceClient.setOnCustomAttributeListener()方法设置自定义属性监听器,并按照设置的定位周期更新onTrackAttributeCallback()的返回值。SDK每采集一次轨迹,便会自动回调onTrackAttributeCallback()接口,获取属性值并写入当前轨迹点的属性字段中。自定义属性监听器需通过LBSTraceClient.setOnCustomAttributeListener()进行设置,LBSTraceService只回调最新设置的自定义监听器。onTrackAttributeCallback()的返回值是Map<String, String>类型,每个对象都是一个<key,value>对,其中key为entity的自定义字段名称,value为值。

示例:随轨迹上传电动车电量和行车图像

**1. 上传电量:**开发者需创建一个名为energy的track自定义字段用来记录车辆当前剩余电量

**2. 上传行车图像:**当开发者需要随轨迹上传图像数据,可利用鹰眼 SDK 图像存储功能进行图像的上传、存储和查询,详见图像存储。例如:司机路遇拥堵或事故时,需上报现场图片至服务端。图像上传的同时,利用自定义属性上传功能,可将图片文件的唯一标识objectKey传入轨迹点的 object_name字段中,将图片文件与轨迹点绑定。在查询轨迹和实时位置时,通过 object_name 即可查询到轨迹点对应的图像文件。

为满足以上两个场景的需求,此时可重写onTrackAttributeCallback()如下 :

OnCustomAttributeListener mCustomAttributeListener = new OnCustomAttributeListener() {
    @Override
    public Map<String, String> onTrackAttributeCallback() {
        Map<String, String> trackAttrs = new HashMap<String, String>();

        //获取当前电量:getCurrentEnergy()为开发者自定义的获取当前电量的方法
        String energy = getCurrentEnergy();
       //随轨迹点上传电量信息
        trackAttrs.put("energy", energy);

        //获取图像的唯一标识ObjectKey:getObjectKey()为开发者自定义的获取行车图像的objectKey。
        String objectKey = getObjectKey();
       //随轨迹上传图像唯一标识ObjectKey
        trackAttrs.put("object_name", objectKey);

        return trackAttrs;
    }
};

复杂网络状态下,SDK的连接与轨迹回传策略

在网络状态持续良好的情况下,SDK将按照指定频率回传轨迹。如果在开启轨迹追踪时、追踪过程中、或结束轨迹追踪时遇到网络不稳定或断网的情况,SDK也有相应处理策略:

1. 开启轨迹服务,调用startTrace()时

调用startTrace()后,SDK会与服务端建立连接,并将已缓存的轨迹数据上传到服务端,但不会进行定位采集,即尚未开始轨迹追踪。

若建立连接过程中,网络不稳定或者断网,SDK均会监听网络变化,在网络状态改变且可用时,重新发起连接。因此,开发者可以在APP初始化完成后,开启轨迹服务,以便提前完成SDK与服务端的连接,尽量降低连接操作对正常业务流程的影响。

2. 轨迹追踪过程中,调用startGather()

开启轨迹服务后,需调用startGather(),SDK才会开始真正的定位采集。

在采集过程中,若出现网络中断、连上不可上网的Wi-Fi,或网络频繁切换时,SDK都将自动开启缓存模式,将采集的轨迹数据保存到数据库中,并自动监听网络,待联网时自动回传缓存数据。

鹰眼未限制缓存数据量,只要手机存储空间未满,就将持续缓存数据。一旦手机空间不足,将停止写入缓存数据。

3. 停止轨迹追踪,调用stopGather()时

要结束当前采集任务时,只需调用stopGather(),此时SDK便会停止采集,但仍将维持与服务端的长连接。

因此,若在采集追踪过程中,出现网络不可用的情况,导致缓存了轨迹信息,此时SDK也会监听网络变化,网络可用时便会重连,连接建立成功后将缓存数据上传到服务端。

关于后台保活的说明

随着互联网对用户隐私的日益关注和保护,Android系统对于长时间后台定位的监管也更加严格。开发者在严格遵守《百度地图开放平台产品和服务隐私政策》的前提下,可通过申请加入华为等手机厂商后台应用白名单、创建前台通知、声明前台服务和后台定位权限等合理方式,提升APP和鹰眼service的存活率,提升轨迹的完整性。详细请参考服务的存活章节。

上一页
Hello Trace
下一页
缓存轨迹处理
Built with