2012-06-12 4 views
0

oeil à ceci:Android - Obtenir les coordonnées de GeoPoint-Object

MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView); 


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

Cela fonctionne très bien. Mais j'ai besoin de sauvegarder les coordonnées dans une variable. J'ai donc essayé ceci:

myLocationLon = (double) myGeoPoint.getLongitudeE6(); 

Lorsque je lance l'application, cette dernière ligne la fait s'effondrer. Pouvez-vous s'il vous plaît me dire pourquoi cela ne fonctionne pas? Merci

Répondre

0

GeoPoint.getLongitudeE6() et GeoPoint.getLatitudeE6() tous deux retournent microdégradés (essentiellement degrés * 1E6).

si vous avez besoin de convertir microdegrees à des degrés écrire simplement la fonction:

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

puis

myLocationLon = microDegreesToDegrees(myGeoPoint.getLongitudeE6()); 
+0

Thx, mais cela ne semble pas fonctionner. La dernière ligne provoque un effondrement lorsque j'essaie de démarrer l'application. – user1451207

+0

postez votre logcat qui aiderait certainement à résoudre le problème. –

+0

Je pense que le problème est, qu'une valeur pour la Longitude n'est pas encore là, quand j'appelle votre fonction. Voici un écran: http://www1.xup.in/exec/ximg.php?fid=35589012 – user1451207

Questions connexes