2013-11-01 10 views
12

まもなく、私は現在の位置から別のカメラにアニメーションを移動する方法を知りたいと思います。ここに私の試しです:Android - google mapカメラを別の位置に移動

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

しかし、Googleマップは、カメラをいくつかの位置からターゲットに移動します。どのように設定することができますか?前もって感謝します。

+0

これは私のためにも機能しませんでした。青い点は新しい場所に移動しますが、カメラはアニメーション化されません。 –

答えて

15

マップサンプルのCameraDemoActivityのコードを見てください。 Positionに移動するには、CameraPositionが必要です。

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

関連する問題