Android如何获取我的MapView的屏幕坐标? (可见的矩形)

时间:2011-09-19 07:23:32

标签: android

如何才能保存我的MapView屏幕坐标? (可见rect rect-top和zoomlevel) 我想在一段时间后重新加载那些坐标。我怎么能这样做?

谢谢,Leslie

2 个答案:

答案 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);