1

Android 앱에 MapFragment가 있으며 실제지도에 표시된 최소 및 최대 위도/경도를 알고 싶습니다.함수 MapFragment의 getMapCenter/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); 

내 문제는 지금 내가 해달라고입니다 Google지도 (com.google.android.gms.maps.GoogleMap)와 MapFragment (com.google.android.gms.maps.MapFragment) 만 있습니다.

POI-DB-Entry를 선택하기위한 DB 쿼리를 수행하려면 최소/최대 좌표가 필요합니다.

답변

2

GoogleMap에서 얻을 수 있습니다. getVisibleRegionProjection입니다.

은 당신이 당신의, 당신은

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

VisibleRegionGoogleMapmap로하는 것은 반드시 사각형이 아니라 당신에게 경계를 제공이라는 가정하면, 더 많은 정보를 위해 docs를 참조하십시오.

+0

감사에 관심이있을 수 있습니다, 당신이 함께 할 노력하고 있지만,이 마커는 "화면에"있는지 확인하기 위해 찾고 있다면 무엇인지 노력 할게요하지 않음 저녁. 이게 내가 찾은 것 같아. – padalton

+0

네, 그 덕분에 많은 일을했습니다! – padalton

0

iagreen의 답변에 추가하려면 가시 영역 통화의 LatLngBounds에 관심이있을 것입니다.

LatLngBounds bounds = this.mMap.getProjection().getVisibleRegion().latLngBounds; 

이로써 최저/최고 위도/경도 (북동/남서부 구석)를 얻을 수 있습니다.

, 내가 이것을 다음 this answer

+0

이미 솔루션을 구현했습니다. – padalton