2013-11-01 7 views
12

Kurz möchte ich wissen, wie ich die Kamera von der aktuellen Position zu einem anderen mit Animation bewegen kann. Hier ist mein Versuch:Android - google map Kamera von Position zu anderen bewegen

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

Aber Google Karte bewegt Kamera von einer Position auf das Ziel. Wie kann ich es von A zu Ziel bewegen, welches A ist eine Position, die ich einstellen kann? Danke im Voraus.

+0

das hat bei mir auch nicht funktioniert, der blaue Punkt bewegt sich an einen neuen Ort, aber die Kamera animiert nie dazu. –

Antwort

15

Sehen Sie sich den Code in CameraDemoActivity im Kartenbeispiel an. Um zu einer Position zu gelangen, benötigen Sie eine 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

Es funktionierte wie ein Zauber. Vielen Dank. – R4j

Verwandte Themen