2013-05-28 7 views
5

Problem:Android Karten - animateCamera() Methode funktioniert nicht einwand

1) Karte animiert immer die gewünschte Stelle (4. Zeile im Code zu erreichen), aber es wurde bis auf die Standardposition (5. Zeile im Code gezoomt)

[verlassen die Karte im Standardverzeichnis auf der Ebene angegebenen zoom]

2) ich verstehe, warum das Problem geschieht, aber ich weiß nicht, wie es zu lösen.

3) Wenn ich die 4. Zeile zu moveCamera statt animateCamera ändern, die funktionieren wird, aber ich will animateCamera() -Methode.

Hier ist der Code:

map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap(); 
MarkerOptions options=new MarkerOptions().position(new LatLng(13.0810,80.2740)); 
map.addMarker(options); 
map.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(13.0810,80.2740)),4000,null); 
map.animateCamera(CameraUpdateFactory.zoomTo(15.5f),2000,null); 

Antwort

31

Das Problem ist, dass Sie zoom rufen direkt nach an die neue Position Animieren gestartet. Deshalb ist es ersetzt nur letzte Kamera Update-Aktion mit dem neuen ein.

Sie können einfach, dass lösen, indem genauere Kamera Update-Aktion zu schaffen (die beide latlng Änderung und die Zoomstufe ändern umfassen würde):

CameraPosition newCamPos = new CameraPosition(new LatLng(13.0810,80.2740), 
                15.5f, 
                map.getCameraPosition().tilt, //use old tilt 
                map.getCameraPosition().bearing); //use old bearing 
map.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), 4000, null); 

HILFS Wie von MaciejGórski, können Sie einfach newLatLngZoom verwenden Schnittstelle, die sowohl LatLng und zoom Änderung beinhaltet:

map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(13.0810,80.2740), 15.5f), 4000, null); 
+3

einfacher wäre, nur newLatLngZoom Version auf der Fabrik verwendet werden. –

+0

yeap, you'r rechts :) Ich werde meine Antwort mit dieser Option aktualisieren zu –

+0

Beachten Sie, dass Animationen in Lite-Modus nicht funktionieren, obwohl eine einfache Fade-in Animation schön gewesen wäre, –

Verwandte Themen