Android: obtener coordenadas de GeoPoint-Object

mira esto:

MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);


    myLocationOverlay.enableMyLocation();
    myLocationOverlay.enableCompass();
    GeoPoint myGeoPoint = myLocationOverlay.getMyLocation();

Eso funciona bien. Pero necesito guardar las coordenadas en una variable. Así que probé esto:

myLocationLon = (double) myGeoPoint.getLongitudeE6();

Cuando ejecuto la aplicación, esta última línea hace que colapse. ¿Puedes decirme por qué esto no funciona? Gracias

preguntado el 12 de junio de 12 a las 15:06

1 Respuestas

GeoPoint.getLongitudeE6() y GeoPoint.getLatitudeE6() ambos devuelven microgrados (básicamente grados * 1E6).

por lo que necesita convertir microgrados a grados, simplemente escriba la función:

public double microDegreesToDegrees(int microDegrees) {
    return microDegrees / 1E6;
}

y entonces

myLocationLon = microDegreesToDegrees(myGeoPoint.getLongitudeE6());

Respondido el 12 de junio de 12 a las 16:06

Thx, pero eso no parece funcionar. La última línea provoca un colapso cuando intento iniciar la aplicación. - user1451207

publique su logcat que sin duda ayudaría a resolver el problema. - vipul

Creo que el problema es que aún no existe un valor para la Longitud cuando llamo a su función. Aquí una pantalla: www1.xup.in/exec/ximg.php?fid=35589012 - user1451207

myLocationLon = (myGeoPoint.getLongitudeE6() / 1E6); //no funciona - user1451207

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.