2010-07-20 15 views
7

En Android 2.2 Emulator, el comando "geo fix" parece no funcionar correctamente. El emulador responde "OK" y se llama correctamente al onLocationChanged() en mi programa. Sin embargo, el objeto Location parece no estar completo: registra la latitud y longitud muy bien, pero no contiene una lectura de altitud: hasAltitude() devuelve false.El comando Geo Fix no pasa la altitud

¿Alguna idea de por qué?

comandos Ejemplo emulador:

geo fix -74 40.75 500 
geo fix -77 39 400.0 

Fragmento de código: Salida

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]); 
} 

muestra:

onLocationChanged Called 
No altitude fix 
-74.
40.756666666666666667 
onLocationChanged Called 
No altitude fix 
-77.012833333333333335 
39.006499999999999996 
+0

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

Respuesta

Cuestiones relacionadas