2010-08-05 15 views

Odpowiedz

4

zobaczyć ten wpis: Google Maps & apps with mapview have different current positions

mówisz własnego MapView witin aplikacji lub aplikacji Mapy Google? Na swojej mapie użyj lokalizacji sieciowej i dostawcy GPS. GPS działa tylko na wolnym powietrzu i jest bardziej dokładny, podczas gdy dostawca sieci działa w pomieszczeniach, ale jest mniej dokładny.

przeczytać również to: http://forum.sdx-developers.com/android-2-1-development/cdma-lockup-wifi-use-wireless-networks-and-gps!/msg22834/#msg22834

4

Ponieważ API 9 można wykorzystać pewne stałe dla setAccuracy metoda

lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
Criteria criteria = new Criteria(); 
criteria.setAccuracy(Criteria.ACCURACY_HIGH); 
lm.getBestProvider(criteria, true); 

ACCURACY_HIGH mniej niż 100 metrów
ACCURACY_MEDIUM pomiędzy 100 - 500 mierniki
ACCURACY_LOW większa niż 500 metrów

Oto details

4

Choć to prawda, że ​​od 9 API istnieją pewne nowe możliwości w zakresie ustawień dokładność, co @dev mz tych nie będzie działać. Nie możesz używać nowych stałych bezpośrednio w criteria.setAccuracy. Zamiast tego można korzystać z tych nowych funkcji, takich jak to:

 //All your normal criteria setup 
     Criteria criteria = new Criteria(); 
     //Use FINE or COARSE (or NO_REQUIREMENT) here 
     criteria.setAccuracy(Criteria.ACCURACY_FINE); 
     criteria.setPowerRequirement(Criteria.POWER_LOW); 
     criteria.setAltitudeRequired(true); 
     criteria.setSpeedRequired(true); 
     criteria.setCostAllowed(true); 
     criteria.setBearingRequired(true); 

     //API level 9 and up 
     criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH); 
     criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH); 
     criteria.setBearingAccuracy(Criteria.ACCURACY_LOW); 
     criteria.setSpeedAccuracy(Criteria.ACCURACY_HIGH); 

Co do twojego pytania, należy pamiętać, że mówimy o kryteria dla przychodzących aktualizacjach lokalizacji. Nie poprawi to jakości danych GPS, ponieważ jest to specyficzne dla urządzenia/sprzętu/sieci. To po prostu działa jak filtr dla przychodzących geolokalizacji.