您当前的位置: 鹰眼Android SDK > > 实时位置查询
实时位置查询

简介

实时查询entity最新位置、高度、速度、方向和相关属性信息。支持以下搜索方式:


1. entity 列表:根据 entityName和筛选条件精确查询entity


2. 关键字模糊查询:根据 entityName 和 entityDesc 字段模糊查询 entity


3. 周边搜索:查询某中心点周边的 entity


4. 矩形查询:查询某矩形地理范围内的 entity

坐标系说明

目前中国主要有以下三种坐标系:


WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。


GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。


BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标


非中国地区地图,统一使用WGS84坐标


鹰眼 Web服务API v3.0的默认输入输出坐标为百度经纬度坐标系(bd09ll),同时可通过"coordType" ,"coordTypeInput","coordTypeOutput"(以各方法参数介绍为准)控制输入输出的坐标类型,鹰眼将自动完成转换。

entity 列表

queryEntityList()方法用于根据筛选条件(FilterCondition)查找符合条件的entity列表,常用于以下场景:

1. 查询某一个 entity 的详细信息,包括实时位置

2. 查询所有设备信息和实时位置,如轨迹管理台的entity列表面板

3. 查询在线和离线设备


类似Web轨迹管理台中的在线和离线 entity 列表功能,在 Android APP内可用该方法实现。若判断在线的条件为:当前5分钟内定位且上传了轨迹点的 entity,则可按如下示例实现:

// 请求标识
int tag = 5;
// 轨迹服务ID
long serviceId = 0;
//设置活跃时间
long activeTime = System.currentTimeMillis() / 1000 - 5*60; 
// 过滤条件
FilterCondition filterCondition = new FilterCondition();
// 查找当前时间5分钟之内有定位信息上传的entity
filterCondition.setActiveTime(activeTime);
// 返回结果坐标类型
CoordType coordTypeOutput = CoordType.bd09ll;
// 分页索引
int pageIndex = 1;
// 分页大小
int pageSize = 100;
 
 
// 创建Entity列表请求实例
EntityListRequest request = new EntityListRequest(tag, serviceId, filterCondition, coordTypeOutput, pageIndex, pageSize);
 
 
// 初始化监听器
OnEntityListener entityListener = new OnEntityListener() {
    @Override
    public void onEntityListCallback(EntityListResponse response) {}
};
 
 
// 查询Entity列表
mTraceClient.queryEntityList(request, entityListener);

其他实时位置搜索接口

关键字模糊搜索、周边搜索和矩形搜索都是在 entity 列表接口的基础上增加了特定的检索条件。


1. 模糊检索:支持 keyword(搜索 entityName 和 entityDesc) 和 FilterCondition组合搜索

2. 周边搜索:支持 圆形地理范围 和 FilterCondition组合搜索

3. 矩形搜索:支持 矩形地理范围 和 FilterCondition组合搜索

FilterCondition过滤条件的说明

在以上4中实时位置搜索接口中均支持通过FilterCondition进行过滤。目前,FilterCondition 支持以下筛选条件,均为精确匹配:

1. entityNames - 支持传入多个 entityName

2. activeTime - 活跃时间,在此时间之后有定位信息上传的entity,即 locTime>=activeTime(注意:activeTime和inActiveTime二者不可同时设置)

3. inActiveTime - 不活跃时间,在此时间之后无定位信息上传的entity,即 locTime<inActiveTime(注意:activeTime和inActiveTime二者不可同时设置)

4. columns - 开发者创建的可检索的entity属性字段