我的Android应用程序中有一个MapFragment,现在我想知道实际在地图上显示的最小和最大纬度/经度。

我找到了这个解决方案:


  如果要找出MapView角的经度纬度,可以使用:


Point mapCenter = mapView.getMapCenter();
int latitudeSpan = mapView.getLatitudeSpan() / 2;
int longitudeSpan = mapView.getLongitudeSpan() / 2;
int topLeftLat = mapCenter.getLatitudeE6() + (latitudeSpan);
int topLeftLon = mapCenter.getLongitudeE6() - (longitudeSpan);
int bottomLeftLat = mapCenter.getLatitudeE6() - (latitudeSpan);
int bottomLeftLon = mapCenter.getLongitudeE6() + (longitudeSpan);


我现在的问题是我没有MapView,
我只有一个GoogleMap(com.google.android.gms.maps.GoogleMap)和一个MapFragment(com.google.android.gms.maps.MapFragment)。

我需要最小/最大坐标来执行数据库查询以选择POI-DB-Entrys。

最佳答案

您可以使用GoogleMap中的getVisibleRegionProjection中获取它。

假设您将GoogleMap命名为map

VisibleRegion bounds = map.getProjection().getVisibleRegion();


VisibleRegion不一定是矩形,但可以为您提供界限,有关更多信息,请参见docs

关于android - MapFragment中的getMapCenter函数/从MapFragment获取MapView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14634735/

10-11 19:20