重要:为进一步采取加强对最终用户个人信息的安全保护措施,从鹰眼Android SDK v3.1.11版本起, 请开发者务必确保调用SDK任何接口前先调用隐私合规接口setAgreePrivacy,否则可能会无法正常使用相关功能。具体可参考开发指南-快速入门-隐私合规接口说明。
鹰眼可对有定位能力的终端实现轨迹管理,并支持多端接入,可查询实时/历史终端位置及轨迹,实现轨迹信息可视化,同时鹰眼电子围栏具备信息主动推送能力,能实现终端进出围栏报警推送,广泛应用在物流,出行,金融,信息科技,智能硬件等多个行业。鹰眼采用PB级数据存储,基于百度成熟分布式存储系统,进行多地域三备份存储,多形式数据安全保护,具备极高数据安全能力。
// 轨迹服务IDlong serviceId = 0;// 设备标识String entityName = "myTrace";// 是否需要对象存储服务,默认为:false,关闭对象存储服务。注:鹰眼 Android SDK v3.0以上版本支持随轨迹上传图像等对象数据,若需使用此功能,该参数需设为 true,且需导入bos-android-sdk-1.0.2.jar。boolean isNeedObjectStorage = false;// 初始化轨迹服务Trace mTrace = new Trace(serviceId, entityName, isNeedObjectStorage);// 初始化轨迹服务客户端LBSTraceClient mTraceClient = new LBSTraceClient(getApplicationContext());// 定位周期(单位:秒)int gatherInterval = 5;// 打包回传周期(单位:秒)int packInterval = 10;// 设置定位和打包周期mTraceClient.setInterval(gatherInterval, packInterval);// 初始化轨迹服务监听器OnTraceListener mTraceListener = new OnTraceListener() {// 开启服务回调@Overridepublic void onStartTraceCallback(int status, String message) {}// 停止服务回调@Overridepublic void onStopTraceCallback(int status, String message) {}// 开启采集回调@Overridepublic void onStartGatherCallback(int status, String message) {}// 停止采集回调@Overridepublic void onStopGatherCallback(int status, String message) {}// 推送回调@Overridepublic void onPushCallback(byte messageNo, PushMessage message) {}};// 开启服务mTraceClient.startTrace(mTrace, mTraceListener);// 开启采集mTraceClient.startGather(mTraceListener);
// 请求标识int tag = 5;// 轨迹服务IDlong serviceId = 0;//设置活跃时间long activeTime = System.currentTimeMillis() / 1000 - 5*60;// 过滤条件FilterCondition filterCondition = new FilterCondition();// 查找当前时间5分钟之内有定位信息上传的entityfilterCondition.setActiveTime(activeTime);// 返回结果坐标类型CoordType coordTypeOutput = CoordType.bd09ll;//中心点LatLng center = new LatLng(40.0569, 116.307553);//检索半径double radius=1000;// 分页索引int pageIndex = 1;// 分页大小int pageSize = 100;//根据圆心半径和筛选条件进行搜索AroundSearchRequest aroundSearchRequest = new AroundSearchRequest( tag, serviceId, center, radius,filterCondition, coordTypeOutput, pageIndex, pageSize);OnEntityListener onEntityListener = new OnEntityListener() {@Overridepublic void onAroundSearchCallback(AroundSearchResponse aroundSearchResponse) {super.onAroundSearchCallback(aroundSearchResponse);//周边搜索回调接口}.....};mTraceClient.aroundSearchEntity(aroundSearchRequest, onEntityListener);
// 请求标识int tag = 1;// 轨迹服务IDlong serviceId = 0;// 设备标识String entityName = "myTrace";// 创建历史轨迹请求实例HistoryTrackRequest historyTrackRequest = new HistoryTrackRequest(tag, serviceId, entityName);// 开始时间2017-4-17 0:0:0的UNIX 时间戳long startTime = 1492358400;// 结束时间2017-4-17 23:59:59的UNIX 时间戳long endTime = 1492444799;// 设置开始时间historyTrackRequest.setStartTime(startTime);// 设置结束时间historyTrackRequest.setEndTime(endTime);// 设置需要纠偏historyTrackRequest.setProcessed(true);// 创建纠偏选项实例ProcessOption processOption = new ProcessOption();// 设置需要去噪processOption.setNeedDenoise(true);// 设置需要抽稀processOption.setNeedVacuate(true);// 设置需要绑路processOption.setNeedMapMatch(true);// 设置精度过滤值(定位精度大于100米的过滤掉)processOption.setRadiusThreshold(100);// 设置交通方式为驾车processOption.setTransportMode(TransportMode.driving);// 设置纠偏选项historyTrackRequest.setProcessOption(processOption);// 设置里程填充方式为驾车historyTrackRequest.setSupplementMode(SupplementMode.driving);// 初始化轨迹监听器OnTrackListener mTrackListener = new OnTrackListener() {@Overridepublic void onHistoryTrackCallback(HistoryTrackResponse response) {// 历史轨迹回调}};// 查询轨迹mTraceClient.queryHistoryTrack(historyTrackRequest, mTrackListener);
// 请求标识int tag = 2;// 轨迹服务IDlong 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() {@Overridepublic void onDistanceCallback(DistanceResponse response) {// 里程回调}};// 查询里程mTraceClient.queryDistance(distanceRequest, mTrackListener);
// 请求标识int tag = 10;// 轨迹服务IDlong serviceId = 0;// 监控对象String monitoredPerson = "myTrace";// 围栏编号列表List<Long> fenceIds = null;// 位置坐标com.baidu.trace.model.LatLng location = new com.baidu.trace.model.LatLng(40.0552720000, 116.307655000);// 坐标类型CoordType coordType = CoordType.bd09ll;// 创建查询服务端围栏指定位置上监控状态请求实例MonitoredStatusByLocationRequest request = MonitoredStatusByLocationRequest.buildServerRequest(tag,serviceId, monitoredPerson, fenceIds, location, coordType);// 初始化围栏监听器OnFenceListener mFenceListener = new OnFenceListener() {@Overridepublic void onMonitoredStatusByLocationCallback(MonitoredStatusByLocationResponse response) {//查询指定位置监控对象状态回调接口}......}// 查询围栏监控者状态mTraceClient.queryMonitoredStatusByLocation(request, mFenceListener);
// 请求标识int tag = 1;// 轨迹服务IDlong serviceId = 0;// 设备标识String entityName = "myTrace";//创建停留点查询请求实例StayPointRequest stayPointRequest = new StayPointRequest();// 开始时间2017-4-17 0:0:0的UNIX 时间戳long startTime = 1492358400;// 结束时间2017-4-17 23:59:59的UNIX 时间戳long endTime = 1492444799;// 设置开始时间stayPointRequest.setStartTime(startTime);// 设置结束时间stayPointRequest.setEndTime(endTime);// 创建纠偏选项实例ProcessOption processOption = new ProcessOption();// 设置需要绑路processOption.setNeedMapMatch(true);// 设置交通方式为驾车processOption.setTransportMode(TransportMode.driving);// 设置纠偏选项stayPointRequest.setProcessOption(processOption);//停留时长long stayTime=600*10;//设置停留时间阈值 即停留多长时间被认为是一次停留,单位:秒,默认值:600,即10分钟stayPointRequest.setStayTime(stayTime);//停留半径int radius=20;//设置停留半径: 即系统判断在半径为stayRadius的圆形范围内停留时间超过stayTime,则被认为是一次停留stayPointRequest.setStayRadius(radius);//初始化停留点监听OnAnalysisListener mAnalysisListener = new OnAnalysisListener() {@Overridepublic void onStayPointCallback(StayPointResponse response) {//停留点分析回调}......};//停留点查询mTraceClient.queryStayPoint(stayPointRequest, mAnalysisListener);
下一篇
本篇文章对您是否有帮助?