爲何獲取不到定位的速度[getSpeed()]、角度[getBearing()]、海拔[getAltitude()]?

速度、角度和海拔數據來源自哪裏?

精準的速度(Speed)、角度(Bearing)、海拔(Altitude)數據來自設備GPS模塊,也就是當GPS模塊正常工做狀況下,且設備在移動時會返回以上三種數據。網絡

因此當以上三種數據返回負數說明GPS狀態如今是太好的,沒法準確計算結果。若是返回0意味着GPS狀態可用,但設備沒有移動。ide

爲什麼高精度定位模式不能每次都返回這三項數據?

在高精度定位模式下會採用GPS定位混合網絡定位的方式。開啓持續高精度定位,若是此時GPS模塊沒有正常工做是沒法正常返回角度、速度、海拔數據的,但網絡定位生效,能夠有效的返回經緯度信息。接口

若是您須要依賴速度(Speed)、角度(Bearing)、海拔(Altitude)三種數據作業務上的判斷,您能夠採用僅設備定位模式。僅設備定位模式會徹底依賴GPS定位。it

但僅設備定位模式只能在室外環境生效,這是因爲GPS模塊只有在開闊場所才能夠有效的鏈接衛星計算位置,這點須要您注意。io

自Android 定位 SDK V3.1.0版本開始,AMapLocationClientOption會有這樣一個接口:setSensorEnable(boolean sensorEnable);這個接口控制是否使用設備傳感器,默認關閉,能夠打開。當上述接口被設置爲true後,定位的Client將會採用設備傳感器計算海拔,角度和速度。意味着高精度定位模式下也能夠返回速度、角度、海拔數據。class

相關文章
相關標籤/搜索