地理围栏
1.
2.
3.
4.
1.
2.
**2. 路线偏离报警:**鹰眼v3.0新增路线围栏,可设定车辆行驶路线和偏离距离,一旦车辆偏离超过设定的距离,鹰眼围栏将推送报警。
**3. 用车行业运营区域监控:**利用鹰眼多边形地理围栏和行政区围栏功能,设置运营区域围栏,一旦判断车辆进/出运营区触发报警。
// 请求标识
int tag = 3;
// 轨迹服务ID
long serviceId = 0;
// 围栏名称
String fenceName = "local_circle";
// 监控对象
String monitoredPerson = "myTrace";
// 围栏圆心
com.baidu.trace.model.LatLng center = new com.baidu.trace.model.LatLng(39.9151190000, 116.4039630000);
// 围栏半径(单位 : 米)
double radius = 2000;
// 去噪精度
int denoise = 200;
// 坐标类型
CoordType coordType = CoordType.bd09ll;
// 创建本地圆形围栏请求实例
CreateFenceRequest localCircleFenceRequest = CreateFenceRequest.buildLocalCircleRequest(tag, serviceId,fenceName, monitoredPerson, center, radius, denoise, coordType);
// 初始化围栏监听器
OnFenceListener mFenceListener = new OnFenceListener() {
// 创建围栏回调
@Override
public void onCreateFenceCallback(CreateFenceResponse response) {}
// 更新围栏回调
@Override
public void onUpdateFenceCallback(UpdateFenceResponse response) {}
// 删除围栏回调
@Override
public void onDeleteFenceCallback(DeleteFenceResponse response) {}
// 围栏列表回调
@Override
public void onFenceListCallback(FenceListResponse response) {}
// 监控状态回调
@Override
public void onMonitoredStatusCallback(MonitoredStatusResponse
response) {}
// 指定位置监控状态回调
@Override
public void onMonitoredStatusByLocationCallback(MonitoredStatusByLocationResponse response) {}
// 历史报警回调
@Override
public void onHistoryAlarmCallback(HistoryAlarmResponse response) {}
};
// 创建本地圆形围栏
mTraceClient.createFence(localCircleFenceRequest, mFenceListener);
1.
// 请求标识
int tag = 11;
// 轨迹服务ID
long serviceId = 0;
// 围栏名称
String fenceName = "server_polygon_fence";
// 监控对象
String monitoredPerson = "myTrace";
// 多边形顶点集
List<com.baidu.trace.model.LatLng> vertexes = new ArrayList<com.baidu.trace.model.LatLng>();
vertexes.add(new LatLng(40.0581750000, 116.3067370000));
vertexes.add(new LatLng(40.0583410000, 116.3079580000));
vertexes.add(new LatLng(40.0554970000, 116.3093600000));
vertexes.add(new LatLng(40.0554140000, 116.3078150000));
// 去噪精度
int denoise = 100;
// 坐标类型
CoordType coordType = CoordType.bd09ll;
// 创建服务端多边形围栏请求实例
CreateFenceRequest request = CreateFenceRequest.buildServerPolygonRequest(tag,
serviceId, fenceName, monitoredPerson, vertexes, denoise, coordType);
// 初始化围栏监听器
OnFenceListener mFenceListener = new OnFenceListener() {
//参见客户端围栏
};
// 创建服务端多边形围栏
mTraceClient.createFence(request, mFenceListener);
2.
// 请求标识
int tag = 13;
// 轨迹服务ID
long serviceId = 0;
// 围栏名称
String fenceName = "server_district_fence";
// 监控对象
String monitoredPerson = "myTrace";
// 行政区划关键字
String keyword = "湖南省长沙市";
// 去噪精度
int denoise = 100;
// 创建服务端行政区划围栏请求实例
CreateFenceRequest request = CreateFenceRequest.buildServerDistrictRequest(tag,
serviceId, fenceName, monitoredPerson, keyword, denoise);
// 初始化围栏监听器
OnFenceListener mFenceListener = new OnFenceListener() {
//参见创建客户端围栏
}
// 创建服务端行政区划围栏
mTraceClient.createFence(request, mFenceListener);
// 请求标识
int tag = 8;
// 轨迹服务ID
long serviceId = 0;
// 开始时间
long startTime = System.currentTimeMillis() / 1000 - 30 * 60;
// 结束时间
long endTime = System.currentTimeMillis() / 1000;
// 监控对象
String monitoredPerson = "myTrace";
// 坐标类型
CoordType coordTypeOutput = CoordType.bd09ll;
// 围栏编号列表
List<Long> fenceIds = new ArrayList<Long>();
fenceIds.add(100L);
fenceIds.add(101L);
fenceIds.add(102L);
// 创建服务端围栏历史报警请求
HistoryAlarmRequest request = HistoryAlarmRequest.buildServerRequest(tag, serviceId, startTime, endTime,monitoredPerson, fenceIds, coordTypeOutput);
// 初始化围栏监听器
OnFenceListener mFenceListener = new OnFenceListener() {
//参见创建客户端围栏
}
// 查询围栏历史报警信息
mTraceClient.queryFenceHistoryAlarmInfo(request, mFenceListener);
// 请求标识
int tag = 9;
// 轨迹服务ID
long serviceId = 0;
// 监控对象
String monitoredPerson = "myTrace";
// 围栏编号列表,传 null,则表示查询该 entity 所有围栏。若填写fenceId 列表,则查询指定围栏的状态
List<Long> fenceIds = null;
// 创建查询服务端围栏监控状态请求
MonitoredStatusRequest request = MonitoredStatusRequest.buildServerRequest(tag,
serviceId, monitoredPerson, fenceIds);
// 初始化围栏监听器
OnFenceListener mFenceListener = new OnFenceListener() {
//参见客户端围栏
}
// 查询围栏监控者状态
mTraceClient.queryMonitoredStatus(request, mFenceListener);
// 请求标识
int tag = 10;
// 轨迹服务ID
long 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() {
//参见客户端围栏
}
修改于 2022-08-08 04:05:13