2010-07-20 9 views
7

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 
+0

Simili domanda? http://stackoverflow.com/questions/11054379/why-does-location-getaltitude-always-return-zero-at-least-in-the-emulator – roarster

risposta