Su Android 2.2 Emulator, il comando "geo fix" sembra non funzionare correttamente. L'emulatore risponde "OK" e onLocationChanged()
viene chiamato correttamente nel mio programma. Tuttavia, l'oggetto Location
sembra non essere completo: registra correttamente latitudine e longitudine, ma non contiene una lettura di altitudine: hasAltitude()
restituisce false
.Il comando Geo Fix non supera l'altitudine
Qualche idea, perché?
comandi Esempio emulatore:
geo fix -74 40.75 500
geo fix -77 39 400.0
frammento di codice: Uscita
public void onLocationChanged(Location loc) {
System.out.println("onLocationChanged Called");
if (loc.hasAltitude()) {
double newalt = loc.getAltitude();
System.out.println("new altitude: " + newalt);
gps[ALTITUDE] = newalt;
} else {
System.out.println("No altitude fix");
}
gps[LONG] = loc.getLongitude();
System.out.println(gps[LONG]);
gps[LAT] = loc.getLatitude();
System.out.println(gps[LAT]);
}
Esempio:
onLocationChanged Called
No altitude fix
-74.
40.756666666666666667
onLocationChanged Called
No altitude fix
-77.012833333333333335
39.006499999999999996
Simili domanda? http://stackoverflow.com/questions/11054379/why-does-location-getaltitude-always-return-zero-at-least-in-the-emulator – roarster