※ 引述《wings0616 (孫小雲)》之銘言:
: 我們老師要我做一個
: 能選用各種方式讀取現在位置的程式
: 我目前只知道gps.network這兩種
: 想請問大家..還有別的方法嗎?
: 還有..
: network是不是還有分成基地台跟wifi定位?
: 要如何在程式中分開這兩種定位方式?
: 請知道的大大幫個忙!! 謝謝..
Android 平台提供了兩種定位方式,其一是透過GPS,其二是透過基地台/Wifi來做三角定
位。
GPS的準確度較高,但只能在戶外接收的到衛星訊號的地方使用。
基地台三角定位的準確度較低,但是在室內使用時依然能接收到定位結果。
在AndroidManifest.xml內
定義 ACCESS_FINE_LOCATION ,允許應用程式透過GPS做現在位置的定位。
定義 ACCESS_COARSE_LOCATION,允許應用程式透過Cell-ID/wifi做三角定位。
定義 INTERNET 使用權限,則允許應用程式存取網路,好顯示地圖資料。
所以也可以只組合 ACCESS_FINE_LOCATION、INTERNET,強制應用程式只能用GPS定位
另外再配上Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//只允許GPS定位
criteria.setAccuracy(Criteria.ACCURACY_COARSE);//只允許基地台/Wifi作定位
決定想要用哪種定位方式
方法:
打開 AndroidManifest.xml 清單。切換到 Permission 頁籤,按下 Add,在彈出選擇框中
選 User Permission。此時左側的Perssion列表上會增加一個項目。
選擇這個項目,並在列表右側的下拉選單中選 ACCESS_COARSE_LOCATION。依同樣的步驟
,新增另外兩個 Permission:ACCESS_FINE_LOCATION、INTERNET
也可以直接切換到 Android Manifest.xml,修改原始清單檔案
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.78.145
※ 編輯: meya 來自: 140.114.78.145 (12/26 15:06)