Android與HTML5中的地理資訊定位,Android+Html5定位原理
在Android客戶端,地理資訊定位主要有GPS定位、基站定位、WIFI定位、A-GPS定位,各自的基本情況差不多是這個樣子的:
一、GPS定位:Global Positioning System,全球定位系統
原理:
基於衛星的定位,只要裝置有GPS定位模組,且處於開啟狀態,就能正常獲取定位資訊
優點:
1、最簡單的定位方式,且精度也是最高的
2、基於衛星的定位,就算沒有網路,定位功能也能用
缺點:
1、必須要保證手機有GPS定位模組,且處於開啟狀態
2、比較耗電
3、從GPS初次啟動到初次獲取地理資訊資料,比較耗時
4、室內定位功能不行
二、基站定位(網路定位的一種)
原理:
大致是根據手機的通訊網路,採集其歸屬的基站資訊,再結合一定的網路服務,進一步得到基站的經緯度,較低精度的獲得手機裝置的地理位置資訊
優點:
1、只要手機有訊號,網路正常,室內室外都能用
缺點:
1、精度較低
三、WIFI定位(網路定位的一種)
原理:
類似基站定位,主要是採集當前手機裝置的WIFI資訊,結合一定的網路定位服務,獲取WIFI所在地的經緯度,進一步得到手機裝置d的地理位置資訊
優點:
1、定位快
2、耗電量小
缺點:
1、精度相對GPS較低
四、A-GPS定位
原理:
其實依舊是GPS定位,只是採用基站資訊對GPS定位功能進行輔助,同時還能對GPS定位結果進行適當修正,相比傳統的GPS定位而言,速度更快、精度也更高。
HTML5 Geolocation的定位方式,主要取決於瀏覽器所在的硬體裝置,大致有這些定位方式:IP地址定位、GPS定位、WIFI定位、基站定位、以及使用者自定義位置。各種定位方式的優缺點與Android下差不多,都是在功耗、精度、可用性上的不同。
一般情況下,Geolocation API都是採用組合定位,但設定enableHighAcuracy屬性為true後,會優先採用GPS進行更高精度的定位。
使用HTML5的Geolocation API進行定位,通常需要獲得使用者的手動確認許可,否則該定位功能不可用。比如在微信客戶端中內嵌的嘀嘀打車,進去以後會彈出一個類似這樣的確認框:“嘀嘀打車要使用你的地理位置,是否允許?”,使用者選擇了“允許”,則定位功能開啟,服務正常使用,但如果使用者“拒絕”,那麼這個功能直接不能用了,即便第二次再開啟,或者強刷頁面,該域下的HTML5定位功能依然不可用。