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