2012-05-30 1 views
0

나는 안드로이드 맵의 애니메이션을 제어하기 위해 노력하고있어,하지만 내가하는 방법을 모르겠어요. 내 위치 목록에 animateTo()를 설정하면 내 위치에 잘 맞습니다. 지도를 처음 열 때만 내 위치의 포인트에 애니메이션을 적용하고 싶습니다. 지금은 애니메이션이 작동하지만 맵을 패닝 할 수 없습니다. 잠시 후에 맵을 팬하려고하면 자동으로 내 자세로 되돌아갑니다. 이것은 매우 짜증납니다! 어떻게 처리 할 수 ​​있습니까? 처음으로지도를 시작하고 활동을 재개 할 때 내 위치를보고 싶습니다. 그러나이 후에지도를 이동하고 원하는 것을 볼 수 있습니다. 도움안드로이드지도 : 중지 animateTo을 시작하는 방법()

+0

당신을 돕기 위해 코드를 게시! –

답변

1

나는 이것이 당신의 사용에 대한 적절한 지 모르겠지만, 당신은 현재의 위치를 ​​표시하기위한 기존의 MyLocationOverlay 클래스를 이용할 수 있습니다. 이 클래스는 당신이 때 GPS 잠금을 얻은 초기 좌표로 이동하는 데 사용할 수있는 runOnFirstFix 방법을 가지고 있습니다.

+0

정확하게 내 위치를 발견하는 데 사용하고 있습니다. 그런 다음지도 컨트롤러 객체에서 현재 위치에서 사용자를 가져 오는지도에 애니메이션을 적용하는 animateTo() 함수를 사용합니다. 문제는 현재 위치를 중심으로 한지도 만 볼 수 있다는 것입니다. 왜냐하면 몇 초 후에지도가 다른 방향으로 이동하려고하면 자동으로 다시 돌아 오기 때문입니다! :/ – michoprogrammer

+0

_runOnFirstFix_ 메서드를 재정의하면 animateTo를이 메서드에 전달하는 Runnable로 구현할 수 있습니다. 그런 식으로 애니메이션을 수행 할 수있는 유일한 시간은 GPS가 처음으로 좌표를 획득하는 것입니다. – nmb

+0

당신은 내 생명을 구했어! =) – michoprogrammer

0

에 대한

덕분에 당신은 setBuiltInZoomControls (참)로 설정 했습니까?

은() 메소드에서 onCreate의 끝에서이 작업을 수행 :

MapView mapView = (MapView) findViewById(R.id.mapview); mapView.setBuiltInZoomControls(true);

난 당신이 그냥가 표시되어있어 후지도를 확대/이동 할 수 있도록하려면 확실하지 않다, 그러나 그렇다면 이것이 당신의 문제를 해결해야합니다.

+0

이미 완료되었지만 문제는 확대/축소가 아니라 현재 위치로 다시 가져 오는 자동 이동입니다. – michoprogrammer