Android使用百度定位SDK方法及錯誤處理

2021-09-06 10:47:26 字數 4662 閱讀 4938

下面說一下使用該api的具體步驟:

1、首先第一步就是搭配環境:

②然後複製

2、請確保網路通暢,無論是連線wifi還是使用2g/3g訊號。

3、定位sdk的呼叫必須在主線程中。

4、必須在定位sdk啟動前設定好引數,例如是否使用gps,掃瞄時間間隔設定等。我們強烈建議您設定自己的prodname,並保管好,這樣方便我們為您提供更好的定位服務。

5、定位sdk start之後立即執行,這種情況下很難定位成功,因為定位sdk剛開始啟動還沒有獲取到定位資訊。這時getlocation一般為null。如果是要獲取位置成功,可以在listerner中新增乙個判斷如果strdata為空,則再發起一次定位。

6、定位覆蓋率大概在98%。就是說有2%可能伺服器沒有資料,所以定位會失敗。只需要走到別的地方,或者多試幾次即可成功定位。

7、請使用真機。在虛擬機器上無法進行定位測試。

下面就是我的事例**:

具體思路是:將開啟和獲取位置的**分開來做,可以在程式剛開啟的時候就start。因為據上面所說,有時候可能兩分鐘才能獲取到位置,對於我們需要展示資訊來說,這是絕對不可以的。如果在主線程卡兩分鐘後果可想而知的。

需要說名的是:我這裡沒有設定時間間隔public void setscanspan ( int ) //設定定時定位的時間間隔。單位ms,如果不設定或者所設定的整數值小於1000(ms)時,採用第一次定位模式。

每呼叫一次requestlocatin(),定位sdk會發起一次定位。請求定位與監聽結果一一對應;如果所設的整數值大於等於1000(ms)時,定位sdk內部使用定時定位模式。

呼叫requestlocation( )後,每隔設定的時間,定位sdk就會進行一次定位。如果定位sdk根據定位依據發現位置沒有發生變化,就不會發起網路請求,返回上一次定位的結果;如果發現位置改變,就進行網路請求進行定位,得到新的定位結果。

定時定位時,呼叫一次requestlocation,會定時監聽到定位結果。設定了定時定位後,可以熱切換成一次定位,需要重新設定時間間隔小於1000(ms)即可。locationclient物件stop後,將不再進行定位。 如果設定了定時定位模式後,多次呼叫requestlocation(),則是每隔一段時間進行一次定位,同時額外的定位請求也會進行定位,但頻率不會超過1秒一次。

/*** 停止,減少資源消耗

*/public

void

stoplistener()  

} /**

* 更新位置並儲存到situde中

*/public

void

updatelistener()  

} /**

* 獲取經緯度資訊

* * @return

*/public

situde getlocation()  

private

static

class

mybdlistener 

implements

bdlocationlistener  

station.latitude = location.getlatitude(); 

station.longitude = location.getlongitude(); 

} @override

public

void

onreceivepoi(bdlocation arg0)  

} } 

在使用的時候,在一開始就開啟locationclient,即呼叫startlocation()方法。我的是在服務服務中的oncreate中呼叫的,然後在**中這樣使用:

locationinfo.situde station = location.getlocation(); 

if(station.latitude == 

0.0&& station.longitude == 

0.0)  

if(station.latitude == 

0.0&& station.longitude == 

0.0)  

location.stoplistener(); 

使用上面的方法後,第一次使用都能拿到位置資訊。

android百度定位

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

android 百度sdk之 百度定位

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

Android百度定位API使用方法

實現bdlocationlistener介面 bdlocationlistener介面有2個方法需要實現 1.接收非同步返回的定位結果,引數是bdlocation型別引數。2.接收非同步返回的poi查詢結果,引數是bdlocation型別引數。class mylocationlistener imp...