2013-11-01 4 views
12

간단히 말해서 애니메이션을 사용하여 카메라를 현재 위치에서 다른 위치로 어떻게 이동할 수 있는지 알고 싶습니다. 여기 내 시도입니다 :Android - Google지도에서 다른 위치로 카메라 이동

mapView.moveCamera(CameraUpdateFactory.newLatLngZoom(targetPos, 3)); 
mapView.animateCamera(CameraUpdateFactory.zoomTo(5), 2000, null); 

Google지도는 카메라를 어떤 위치에서 목표로 이동합니다. 어떻게 A에서 목표로 이동할 수 있습니까? A는 내가 설정할 수있는 위치입니다. 미리 감사드립니다.

+0

푸른 점은 새로운 위치로 이동하지만 카메라는 결코 움직이지 않습니다. –

답변

15

지도 샘플에서 CameraDemoActivity의 코드를 확인하십시오. 카메라 포지션이 필요한 위치로 이동하려면.

static final CameraPosition SYDNEY = 
     new CameraPosition.Builder().target(new LatLng(-33.87365, 151.20689)) 
       .zoom(15.5f) 
       .bearing(0) 
       .tilt(25) 
       .build(); 



public void onGoToSydney(View view) { 
    changeCamera(CameraUpdateFactory.newCameraPosition(SYDNEY), new CancelableCallback() { 
     @Override 
     public void onFinish() { 
      Toast.makeText(getBaseContext(), "Animation to Sydney complete", Toast.LENGTH_SHORT) 
        .show(); 
     } 

     @Override 
     public void onCancel() { 
      Toast.makeText(getBaseContext(), "Animation to Sydney canceled", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    }); 
} 


/** 
* Change the camera position by moving or animating the camera depending on the state of the 
* animate toggle button. 
*/ 
private void changeCamera(CameraUpdate update, CancelableCallback callback) { 
    if (mAnimateToggle.isChecked()) { 
     if (mCustomDurationToggle.isChecked()) { 
      int duration = mCustomDurationBar.getProgress(); 
      // The duration must be strictly positive so we make it at least 1. 
      mMap.animateCamera(update, Math.max(duration, 1), callback); 
     } else { 
      mMap.animateCamera(update, callback); 
     } 
    } else { 
     mMap.moveCamera(update); 
    } 
} 
+0

그것은 매력처럼 작동했습니다. 고맙습니다. – R4j

관련 문제