重要:为进一步采取加强对最终用户个人信息的安全保护措施,从鹰眼Harmony SDK v1.0.0版本起, 请开发者务必确保调用SDK任何接口前先调用隐私合规接口setAgreePrivacy,否则可能会无法正常使用相关功能。具体可参考开发指南-快速入门-隐私合规接口说明。

鹰眼可对有定位能力的终端实现轨迹管理,并支持多端接入,可查询实时/历史终端位置及轨迹,实现轨迹信息可视化,同时鹰眼电子围栏具备信息主动推送能力,能实现终端进出围栏报警推送,广泛应用在物流,出行,金融,信息科技,智能硬件等多个行业。鹰眼采用PB级数据存储,基于百度成熟分布式存储系统,进行多地域三备份存储,多形式数据安全保护,具备极高数据安全能力。
import { LogMode, TraceClient } from "@bdmap/yingyan";TraceClient.setAgreePrivacy(true); // 同意隐私合规协议let traceClient = new TraceClient({ak: APP_AK,serviceId: APP_SERVICE_ID,context: appContextentityName: 'xxxxx',gatherInterval: 5, // 默认设置采集间隔(秒)packInterval: 30, // 默认 设置打包间隔(秒)});// 开启轨迹服务await traceClient.startTrace();// 开启采集服务await traceClient.startGather();
await traceClient.createSpaceSearchService().search({query: 'car_xxxx', // 关键词})
// 纠偏选项,用于控制返回坐标的纠偏处理方式,不填则按默认纠偏方式处理let extendOption: ExtendProcessOption = {denoise_grade: DenoiseGrade.LIGHT, // 设置降噪等级,取值范围[0,5],数值越大去噪力度越大,代表越多的点会被当做噪点去除。若取值0,则代表不去噪。vacuate_grade: VacuateGrade.LIGHT, // 设置抽稀等级,取值范围[0,5],数值越大抽稀度力度越大,代表轨迹会越稀疏。若取值0,则代表不抽稀。transport_mode: TransportMode.DRIVING, // 交通方式,鹰眼将根据不同交通工具选择不同的纠偏策略,目前支持:自动(即鹰眼自动识别的交通方式)、驾车、骑行和步行need_mapmatch: MapMatch.BIND, // 绑路,可选值0和1,0表示不绑路,1表示绑路}// 构造历史轨迹查询请求let historyTrackRequest: TrackQuery.HistoryTrackRequest = {entity_name: "entityA", // 实体start_time: 1760544000, // 开始时间,单位秒end_time: 1760630399, // 结束时间,单位秒is_processed: ProcessSwitch.ON, // 可选值0和1,0代表关闭,1代表打开process_option: extendOption, // 纠偏选项// 轨迹补偿交通方式选择,默认值:no_supplement。可选值:no_supplement:不补充,中断两点间距离不记入里程。straight:使用直线距离补充。// driving:使用最短驾车路线距离补充。riding:使用最短骑行路线距离补充。walking:使用最短步行路线距离补充。supplement_mode: SupplementMode.DRIVING,// 仅在supplement_mode不为no_supplement时生效。默认值:only_distance。// 可选值:only_distance:对于中断区间,只补偿中断的里程,不补偿轨迹点。distance_and_points:对于中断区间,既补偿里程,又补偿轨迹点supplement_content: SupplementContent.DISTANCE_AND_POINTS,// 低速阈值,若填写该值且is_processed=1时,则返回结果中将增加low_speed_distance字段,表示速度低于该值的里程,单位:千米/小时。low_speed_threshold: 20,coord_type_output: CoordType.BD09LL, // 坐标类型sort_type: SortType.ASC, // 返回轨迹点的排序规则,默认值:asc。可选值:asc:按照定位时间升序,desc:按照定位时间降序。page_index: 1, // 分页索引,默认值:1。与page_size一起计算从第几条结果返回,代表返回第几页。page_size: 10, // 分页大小,默认值:100。返回结果最大个数与page_index一起计算从第几条结果返回,代表返回结果中每页有几个轨迹点。}// 获取查询管理实例,traceClient 为TraceClient实例let queryManager: TrackQuery.TrackQueryManager = traceClient.createTrackQueryService();// 执行历史轨迹查询queryManager.queryHistoryTrack(historyTrackRequest).then(res=>{ })
// 纠偏选项,用于控制返回坐标的纠偏处理方式,不填则按默认纠偏方式处理let mainOption: MainProcessOption = {denoise_grade: DenoiseGrade.LIGHT, // 设置降噪等级,取值范围[0,5],数值越大去噪力度越大,代表越多的点会被当做噪点去除。若取值0,则代表不去噪。transport_mode: TransportMode.DRIVING, // 交通方式,鹰眼将根据不同交通工具选择不同的纠偏策略,目前支持:驾车、骑行和步行need_mapmatch: MapMatch.BIND, // 绑路,可选值0和1,0表示不绑路,1表示绑路}// 构造实时位置查询请求let distanceRequest: TrackQuery.DistanceRequest = {entity_name: "entityA", // 实体start_time: 1760544000, // 开始时间,单位秒end_time: 1760630399, // 结束时间,单位秒is_processed: ProcessSwitch.ON, // 可选值0和1,0代表关闭,1代表打开process_option: extendOption, // 纠偏选项// 轨迹补偿交通方式选择,默认值:no_supplement。可选值:no_supplement:不补充,中断两点间距离不记入里程。straight:使用直线距离补充。// driving:使用最短驾车路线距离补充。riding:使用最短骑行路线距离补充。walking:使用最短步行路线距离补充。supplement_mode: SupplementMode.DRIVING,// 低速阈值,若填写该值且is_processed=1时,则返回结果中将增加low_speed_distance字段,表示速度低于该值的里程,单位:千米/小时。low_speed_threshold: 20,}// 获取查询管理实例,traceClient 为TraceClient实例let queryManager: TrackQuery.TrackQueryManager = traceClient.createTrackQueryService();// 执行里程查询queryManager.queryDistance(distanceRequest).then(res=>{ })
// 查询围栏const res: Fence.CreateFenceResponse = await traceClient.createFenceManageService().createFence({fence_shape: FenceShape.Circle, // 围栏类型fence_name: 'server_circle_fence', // 围栏名称radius: 10, // 围栏半径coord_type: CoordType.BD09LL,denoise: 20, // 去噪latitude: 39.907083,longitude: 116.326002,monitored_person:'car_1', // 监控对象fence_type: FenceType.SERVER, // 围栏类型,默认服务端//...})//删除围栏const res: Fence.DeleteFenceResponse = await traceClient.createFenceManageService().deleteFence({fence_ids: ['1], // 围栏 id集合fence_type: FenceType.LOCAL, // 围栏类型,默认服务端 可选});
// 构造停留点分析请求let drivingRequest: TrackAnalysis.StayPointRequest = {entity_name: "entityA", // 实体start_time: 1760544000, // 开始时间,单位秒end_time: 1760630399, // 结束时间,单位秒stay_time: 100, // 停留时间,单位秒stay_radius: 20, // 停留半径设置为20米coord_type_output: CoordType.BD09LL // 坐标类型}// 获取分析管理实例,traceClient 为TraceClient实例let analysisManager: TrackAnalysis.TrackAnalysisManager = traceClient.createTrackAnalysisService();// 执行停留点分析查询请求analysisManager.queryStayPoint(drivingRequest).then(res=>{ })

下一篇
本篇文章对您是否有帮助?