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