如何在Google Maps for Android中获取当前缩放级别的地理位置

时间:2011-12-07 21:09:21

标签: android google-maps

如何使用GooleMaps API和Android获取目前在实际缩放级别中可用的纬度/经度值?我的地图上有所有用户的GeoLocations,但我想只有当前“显示”(Zoomlevel)上的用户,因此我必须知道实际Zoomlevel的地理位置边界。

2 个答案:

答案 0 :(得分:1)

假设您只展示了几平方公里而不是行星的一半,那么可以使用以下代码对地图视图的边界框进行合理的近似:

GeoPoint topLeftGpt;
GeoPoint bottomRightGpt;

topLeftGpt = mapView.getProjection().fromPixels(0, 0);
bottomRightGpt = mapView.getProjection().fromPixels(mapView.getWidth(),
            mapView.getHeight());

如果您在每个Geopoints上使用方法.getLatitudeE6()和.getLongitudeE6(),它将为您提供边界框限制

答案 1 :(得分:0)

您可以使用

int latSpanE6 = mapView.getLatitudeSpan();
int lonSpanE6 = mapView.getLongitudeSpan();

编辑:

哎呀,没有地图的中心,这一切都没用:

GeoPoint center = mapView.getMapCenter();

int minMapLat = center.getLatitudeE6() - (latSpanE6/2);
int maxMapLat = center.getLatitudeE6() + (latSpanE6/2);
int minMapLon = center.getLongitudeE6() - (lonSpanE6/2);
int maxMapLon = center.getLongitudeE6() + (lonSpanE6/2);