0

看这个:

MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);


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

这很好用。但我需要将坐标保存在变量中。所以我尝试了这个:

myLocationLon = (double) myGeoPoint.getLongitudeE6();

当我运行应用程序时,最后一行使它崩溃。你能告诉我为什么这不起作用吗?谢谢

4

1 回答 1

0

GeoPoint.getLongitudeE6()并且GeoPoint.getLatitudeE6()都返回微度数(基本上是度数 * 1E6)。

所以你需要将微度转换为度,只需编写函数:

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

接着

myLocationLon = microDegreesToDegrees(myGeoPoint.getLongitudeE6());
于 2012-06-12T15:01:39.190 回答