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

2021-09-06 16:26:07 字數 2287 閱讀 9911

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) }}

public class locationinfo

}在使用的時候,在一開始就開啟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...