2012-01-16 2 views

답변

0
mMapController.animateTo(mAllSpots.get(0)); 

1 수단 점입니다이/특정의지도를 이동 주어진 인수로 위치를 정의

mMapController.setCenter(mAllSpots.get(0)); 

이 1의 위치 값으로 주어진 인수에 기초하여 중심 맵이다

mMapController.setZoom(getZoomSize(mAllSpots)); 

줌 레벨이 방법

mMapController.zoomToSpan(latSpan, longSpan); 
을 사용할 필요가 1 세트 인이

여기서 latSpan 및 longSpan은 maxlat-minlat 및 maxlng - minlng에 의해 정의되었습니다. 먼저 minlat, minlng 및 maxlat, maxlng 및 sustract보다 해당 값을 전달해야하는 모든 것을 찾아야합니다. 얻을 지금, 함께

센터 편집 당신이 당신의 포인트를 가정처럼이 당신에게 maplatspan을 줄 것이다지도보기에서 얻을 찾을 필요가

,

p1 = 20.212323,68.803209; 
p2 = 20.222342,68.889898; 
p3 = 22.212232,68.802093; 

을 줌으로 작동 애니메이션 것 최소 위도, minlng 및 maxlat, 다음 maxlng하고 빼지는,이 점은 사각형으로 RECT 점을 바인딩이 사각형의 중심점으로 발견 된

minlat = 20.212232, minlng = 68.802093, maxlat = 22.212232, maxlng = 68.889898

latspan = maxlat - minlat, lngspan = maxlng - minlng

또한 함수에 전달 지금 latspan * 1E6 및 lngspan * 1E6 같은 1E6에 의해 번식하고 GeoPoint의로 변환해야

+0

대단히 고마워요! 하지만이 @Override 같은 \t 보호 무효 ONSTART() { \t \t mMapController.zoomToSpan 코드를 사용할 때 작동하지 않습니다 (mMapView.getLatitudeSpan(), \t \t \t \t mMapView.getLongitudeSpan을()); \t \t super.onStart(); \t} 몇 가지 제안을 해주실 수 있습니까? – stream

+0

업데이트 업데이트 확인 – Pratik

+0

Nice.I이 문제를 해결했습니다. 감사합니다. – stream

1

당신은 아마해야 포인트를 표시하려면 ItemizedOverlay 구현을 사용하십시오. 그렇다면이 편리한 방법을 사용하여 모든 작업을 수행 할 수 있습니다.

// Sets zoom to a level that will show all of your points. 
mapView.getController().zoomToSpan(itemizedOverlay.getLatSpanE6(), 
    itemizedOverlay.getLonSpanE6()); 

// Animates to center (mean, mean) of points. 
mapView.getController().animateTo(itemizedOverlay.getCenter()); 
관련 문제