我的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
中的getVisibleRegion
从Projection
中获取它。
假设您将GoogleMap
命名为map
,
VisibleRegion bounds = map.getProjection().getVisibleRegion();
VisibleRegion
不一定是矩形,但可以为您提供界限,有关更多信息,请参见docs。关于android - MapFragment中的getMapCenter函数/从MapFragment获取MapView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14634735/