百度鷹眼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中只接受這兩個參數
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章