百度鹰眼SDK文档勘误 —— 查询实时位置

SDK 版本: 3.1.0
sdk文档:http://lbsyun.baidu.com/index.php?title=android-yingyan/guide/searchtrack

查询实时位置
查询一或多个被追踪者的实时位置。

//鹰眼服务ID
long serviceId = <开发者创建的鹰眼服务的ID>;
//entity标识列表(多个entityName,以英文逗号"," 分割)
String entityNames = "mycar1,mycar2,mycar3";      
//检索条件(格式为 : "key1=value1,key2=value2,.....")
String columnKey = "car_team=1";       
//返回结果的类型(0 : 返回全部结果,1 : 只返回entityName的列表)
int returnType = 0;       
//活跃时间,UNIX时间戳(指定该字段时,返回从该时间点之后仍有位置变动的entity的实时点集合)
int activeTime = (int) (System.currentTimeMillis() / 1000 - 12 * 60 * 60);   
//分页大小
int pageSize = 1000;
//分页索引
int pageIndex = 1;
//Entity监听器 
OnEntityListener entityListener = new OnEntityListener() {      
    // 查询失败回调接口
    @Override
    public void onRequestFailedCallback(String arg0) {
        System.out.println("entity请求失败回调接口消息 : " + arg0);
    }

    // 查询entity回调接口,返回查询结果列表
    @Override
    public void onQueryEntityListCallback(String arg0) {
        System.out.println("entity回调接口消息 : " + arg0);
    }
};

//查询实时轨迹
client.queryEntityList(serviceId, entityNames, columnKey, returnType, activeTime, pageSize, pageIndex, entityListener);

最新 3.1.0 版本中查询实体最终位置:

private void queryRealTimeLoc() {
    //Entity监听器
    OnEntityListener entityListener = new OnEntityListener() {
        @Override
        public void onEntityListCallback(EntityListResponse entityListResponse) {
            Log.d("lallsdlalsdlasdlalsd", entityListResponse.getEntities().size() + " " +
                    entityListResponse.getEntities().get(0).getLatestLocation());
            Point point = entityListResponse.getEntities().get(0).getLatestLocation(); //获取到的为Point需要手动转换成LatLng
            LatLng currentLatLng = mapUtil.convertTrace2Map(point.getLocation());
            mapUtil.updateStatus(currentLatLng, true);
        }
    };
    //查询实时轨迹
    //活跃时间,UNIX时间戳(指定该字段时,返回从该时间点之后仍有位置变动的entity的实时点集合)
    int activeTime = (int) (System.currentTimeMillis() / 1000 - 12 * 60 * 60);
    int pageSize = 1000;//分页大小
    int pageIndex = 1;//分页索引
    EntityListRequest request = new EntityListRequest();
    request.setServiceId(trackApp.serviceId);
    request.setPageIndex(pageIndex);
    request.setPageSize(pageSize);
    FilterCondition condition = new FilterCondition();
    List entityNames = new ArrayList<String>();  //需要查询的entityName列表
    entityNames.add("xxxxxxxx");
    entityNames.add("xxxxxxxx");
    condition.setEntityNames(entityNames);
    condition.setActiveTime(activeTime);  //还存在另一个方法 setInActiveTime,设置不活跃时间,在此时间之后无定位信息上传的entity(locTime < inActiveTime) 注:不能与activeTime同时使用
    request.setFilterCondition(condition); //过滤条件
    trackApp.mClient.queryEntityList(request, entityListener);  //最新sdk中只接受这两个参数
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章