android 定位的4種方式介紹

2021-09-02 21:01:38 字數 3196 閱讀 8884

android 定位一般有四種方法,這四種方式分別是:gps定位,wifi定準,基站定位,agps定位,

(1)android gps:需要gps硬體支援,直接和衛星互動來獲取當前經緯度,這種方式需要手機支援gps模組(現在大部分的智慧型機應該都有了)。通過gps方式準確度是最高的,但是它的缺點也非常明顯:1,比較耗電;2,絕大部分使用者預設不開啟gps模組;3,從gps模組啟動到獲取第一次定位資料,可能需要比較長的時間;4,室內幾乎無法使用。這其中,缺點2,3都是比較致命的。需要指出的是,gps走的是衛星通訊的通道,在沒有網路連線的情況下也能用。

要實用adnroid平台的gps裝置,首先需要新增上許可權,所以需要新增如下許可權:

uses-permission android:name= android.permission.access_fine_location /uses-permission

具體實現**如下:

首先判斷gps模組是否存在或者是開啟:

private voidopengpssettings()

toast.maketext(this, 請開啟gps! ,toast.length_short).show();

intent intent = newintent(settings.action_security_settings);

startactivityforresult(intent,0); //此為設定完成後返回到獲取介面

}如果開啟正常,則會直接進入到顯示頁面,如果開啟不正常,則會進行到gps設定頁面:

獲取**如下:

private voidgetlocation()

到這裡就可以獲取到地理位置資訊了,但是還是要顯示出來,那麼就用下面的方法進行顯示:

private voidupdatetonewlocation(location location) else

}(2)android 基站定位:android 基站定位只要明白了基站/wifi定位的原理,自己實現基站/wifi定位其實不難。基站定位一般有幾種,第一種是利用手機附近的三個基站進行三角定位,由於每個基站的位置是固定的,利用電磁波在這三個基站間中轉所需要時間來算出手機所在的座標;第二種則是利用獲取最近的基站的資訊,其中包括基站 id,location area code、mobile country code、mobile network code和訊號強度,將這些資料傳送到google的定位web服務裡,就能拿到當前所在的位置資訊,誤差一般在幾十公尺到幾百公尺之內。其中訊號強度這個資料很重要,

這裡筆者就不多做解釋了,直接給出乙個文章,這個文章寫的非常好,

(3)android wifi定位:根據乙個固定的wifimac位址,通過收集到的該wifi熱點的位置,然後訪問網路上的定位服務以獲得經緯度座標。因為它和基站定位其實都需要使用網路,所以在android也統稱為network方式。

**:public classwifiinfomanager implements serializable

public wifiinfo getwifiinfo()

public class wifiinfo }}

上面是取到wifi的mac位址的方法,下面是把位址傳送給google伺服器,**如下

}4. agps定位

agps(assistedgps:輔助全球衛星定位系統)是結合gsm或gprs與傳統衛星定位,利用基地臺代送輔助衛星資訊,以縮減gps晶元獲取衛星訊號的延遲時間,受遮蓋的室內也能借基地臺訊號彌補,減輕gps晶元對衛星的依賴度。和純gps、基地臺三角定位比較,agps能提供範圍更廣、更省電、速度更快的定位服務,理想誤差範圍在10公尺以內,日本和美國都已經成熟運用agps於lbs服務(location based service,基於位置的服務)。agps技術是一種結合了網路基站資訊和gps資訊對移動臺進行定位的技術,可以在gsm/gprs、wcdma和cdma2000網路中使進行用。該技術需要在手機內增加gps接收機模組,並改造手機的天線,同時要在流動網路上加建位置伺服器、差分gps基準站等裝置。agps解決方案的優勢主要體現在其定位精度上,在室外等空曠地區,其精度在正常的gps工作環境下,可以達到10公尺左右,堪稱目前定位精度最高的一種定位技術。該技術的另一優點為:首次捕獲gps訊號的時間一般僅需幾秒,不像gps的首次捕獲時間可能要2~3分鐘

css 4種定位方式

css的定位即position屬性的值有4種 static,relative,absolute,fixed。static是預設值,元素位於文件流中,正常顯示,忽略元素的top,bottom,left,right屬性。需要注意的一點是z index屬性在這個定位方式下始終為0.如果其他定位方式的漂浮元...

SqlServer備份資料庫的4種方式介紹

1.用sqlserver的維護計畫 在這裡我就不給截圖演示了,這個比較簡單,無非就是通過sqlserver自己的維護計畫拖拽出2個乙個 備份資料庫 任務和乙個 清除維護 任務。需要注意的點 1 有備份程式設計客棧任務裡邊選擇備份的庫盡量選 所有使用者資料庫 這項,以免選擇了特定資料庫備份以後某天新增...

CSS 的4中定位方式

一 流動定位 style position static 預設方式 無法通過css對其定位,不會因為top left 的改變而移動 二 相對定位 style position relative 它是流動布局的一種特殊形式。遵循文件流動的規則 保留在文件流中的位置 同時受left top 的影響 以在...