Android 使用百度鷹眼實現運動軌跡功能

2021-07-10 05:07:59 字數 3860 閱讀 3771

第二步:在鷹眼軌跡服務中軌跡管理臺建立自己的鷹眼服務。

通過這兩步我們就能得到呼叫鷹眼軌跡服務端介面的必要欄位ak和service_id。

一般來說我們只需要呼叫兩個介面即可實現軌跡追蹤功能。乙個是上傳定位位置,乙個獲取歷史軌跡。

第乙個介面:上傳定位位置

uri:

post

引數名引數含義

型別備註

ak使用者的ak,授權使用

string

必須service_id

servicede id,作為其唯一標識

int必選

latitude

緯度double(-90.0 , +90.0)

必選longitude

經度double(-180.0 , +180.0)

必選coord_type

座標型別

int(1-3)

loc_time

軌跡點採集的gps時間

unix時間戳

必選。輸入的loc_time不能超過當前服務端時間10分鐘以上。

entity_name

entity唯一標識

string(0-128)

必選使用者自定義列的column_key

此處值的型別須與使用者自定義的column值的型別一致。

在track/create介面中可以為使用者自定義的column賦值,當loc_time欄位的值大於上一次時,如果輸入了自定義的column的值,則這些值也會被更新。

} catch (exception e) }}

});

mlocationclient.start(); 

}第二個介面:獲取歷史軌跡

get引數名

引數含義

型別備註

ak使用者的ak,授權使用

string

必須service_id

service唯一標識

int必選

start_time

起始時間

unix時間戳

必選end_time

結束時間

unix時間戳

必選。結束時間不超過當前時間,不能早於起始時間,且與起始時間差在24小時之內。

entity_name

entity唯一標識

string

必選******_return

是否返回精簡的結果

int可選,預設值是0,當設為1時,返回精簡結果。

is_processed

是否返回糾偏後軌跡

intpage_index

分頁索引

int(1到2^21-1)預設值為1

可選,與page_size一起計算從第幾條結果返回,代表返回第幾頁。

page_size

分頁大小

int(1-5000)預設值為100

可選字段,返回結果最大個數與page_index一起計算從第幾條結果返回,代表返回結果中每頁有幾條記錄。

引數名引數含義

型別備註

status

狀態碼message

響應資訊

string

對status的中文描述

total

忽略掉page_index,page_size後的軌跡點數量

代表一共有多少條符合條件的track

size

返回的結果條數

int代表本頁返回了多少條符合條件的軌跡點數量

distance

此段軌跡的里程數,單位:公尺

double

符合條件的所有軌跡點的總里程。注意:是total個軌跡點的里程,和分頁及本頁顯示的size無關。

points

歷史軌跡點列表

當******_return=0時,返回point全部字段資訊; 當******_return=1時,返回point資訊將只包含 [longitude, latitude, loc_time,speed]字段;

location

經緯度array

loc_time

該track實時點的上傳時間

unix時間戳

該時間為使用者上傳的時間

create_time

建立時間

格式化時間

該時間為服務端時間

direction

方向int

範圍為[0,365],0度為正北方向,順時針

speed

速度double

單位:km/h

radius

定位精度

double

單位:m

自定義字段

當使用者建立了track的自定義屬性,且在創該屬性賦有值,才會返回此欄位。

該介面的entity_name就是你需要查詢的物件,page_size 預設是100,可以根據需要調大點。

start_time和end_time格式為unix時間戳,這要求將時間進行一下轉化,方法如下。

/* 將字串轉為時間戳 */

public static string gettimetostamp(string time) catch (parseexception e)

string tmptime = string.valueof(date.gettime()).substring(0, 10);

return tmptime;

}還需要注意的是end_time必須大於start_time且時間差不能超過24小時,否則請求會失敗,報引數錯誤。

該介面的返回結果示例:json格式

,

],"message": "成功"

}//劃線方法

private void addtracks()

// 新增折線

if (mtracklist.size() > 0)

if ( points.size() >= 2 && points.size() <10000 )

} catch (exception e) }}

//設定起點--終點

.fromresource(r.drawable.track_start)));// 起點的

// 新增終點

.fromresource(r.drawable.track_finish)));// 終點的

最後實現的效果圖:

Android 使用百度鷹眼實現運動軌跡功能

第二步 在鷹眼軌跡服務中軌跡管理臺建立自己的鷹眼服務。通過這兩步我們就能得到呼叫鷹眼軌跡服務端介面的必要欄位ak和service id。一般來說我們只需要呼叫兩個介面即可實現軌跡追蹤功能。乙個是上傳定位位置,乙個獲取歷史軌跡。第乙個介面 上傳定位位置 uri post 引數名引數含義 型別備註 ak...

android 百度sdk之 百度定位

步驟 1.控制台建立應用。2.sha1獲得 注意 debug 版本和release不同。debug版本獲取 首先 到c user android目錄下,我的是 c users admin android 其次 在這個目錄下,用cmd.輸入keytool v list keystore debug.k...

android百度定位

android value 請輸入你的ak值 由於是第三方定位 直接上 定位sdk監聽函式 public class mylocationlistenner implements bdlocationlistener mylocationdata locdata new mylocationdata...