如何才能保存我的MapView屏幕坐标? (可见rect rect-top和zoomlevel) 我想在一段时间后重新加载那些坐标。我怎么能这样做?
谢谢,Leslie
答案 0 :(得分:6)
我不知道你是否找到了问题的答案,所以我会告诉你我的解决方案。我将以下代码放在MapView类的子类中。
GeoPoint topLeft = this.getProjection().fromPixels(getLeft(), getTop());
GeoPoint bottomRight = this.getProjection().fromPixels(getRight(), getBottom());
int topLat = topLeft.getLatitudeE6();
int topLng = topLeft.getLongitudeE6();
int bottomLat = bottomRight.getLatitudeE6();
int bottomLng = bottomRight.getLongitudeE6();
我希望它会对你有所帮助。
答案 1 :(得分:0)
您无需知道可见区域的坐标(MapView
的角落)。屏幕中心和缩放级别就足够了。
// obtain and persist this values
GeoPoint center = mapView.getMapCenter();
int zoomLevel = mapView.getZoomLevel();
// later restore them when you need
GeoPoint center = ...;
int zoomLevel = ...;
// and init your MapView with this values
MapController controller = mapView.getController();
controller.setZoom(zoomLevel);
controller.animateTo(center);