看看这个:
MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);
myLocationOverlay.enableMyLocation();
myLocationOverlay.enableCompass();
GeoPoint myGeoPoint = myLocationOverlay.getMyLocation();
工作正常。但我需要将坐标保存在变量中。所以我试过这个:
myLocationLon = (double) myGeoPoint.getLongitudeE6();
当我运行应用程序时,最后一行会使其崩溃。你能告诉我为什么这不起作用吗?谢谢
答案 0 :(得分:0)
GeoPoint.getLongitudeE6()
和GeoPoint.getLatitudeE6()
都返回microdegrees(基本上是度* 1E6)。
所以你需要将microdegrees转换为度数,只需编写函数:
public double microDegreesToDegrees(int microDegrees) {
return microDegrees / 1E6;
}
然后
myLocationLon = microDegreesToDegrees(myGeoPoint.getLongitudeE6());