Android 台灣中文網

標題: 關於GPS的Criteria設定問題 [打印本頁]

作者: p729p    時間: 2013-12-30 00:36
標題: 關於GPS的Criteria設定問題
各位大大好

小弟在寫有用GPS定位的程式

但現在出了一個問題

程式我匯出到實機上測試

然後有開GPS和3G網路

可是在定位時發現在捷運站裡(地下室)他卻無法更新定位

要出來地表才有辦法


在程式裡每當更新位置時 我是用toast的方式來顯示最新的經緯度

而更新的條件是用這個   requestLocationUpdates(bestProvider, 1000, 10, this)   

理論上會一直更新才對 但就是在地表下無法 當然GPS和網路都還是可以用的(Google map都可以成功定位正確)

而在精準度的設定方面 我的Criteria設定如下

lms =  (LocationManager) getSystemService(LOCATION_SERVICE);

Criteria criteria = new Criteria();

criteria.setAccuracy(Criteria.ACCURACY_FINE);

criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);

criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH);


bestProvider = lms.getBestProvider(criteria, true);        

Location location = lms.getLastKnownLocation(bestProvider);

實在不知道為何在地表下無法定位

是因為我要求精準度太高所以當無法確定很精準時就不會去更新位置嗎?

還是其他的?

不太知道在內部Android是如何判斷其精準度和選擇精準的定位位置

懇請大大為我解惑






作者: mike110631    時間: 2013-12-30 00:36

criteria.setAccuracy(Criteria.ACCURACY_FINE);  // 只允許GPS定位
criteria.setAccuracy(Criteria.ACCURACY_COARSE);  // 只允許基地台 Wifi 作定位

當然 GPS 在室內會定位不到,一定要開啟 WIFI 定位




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1