2016-03-24 6 views
1

Hallo Ich wollte wissen, wie ich langsam auf einen Marker in einer Kartenaktivität in Android zoomen kann. Momentan öffnet meine App nur gezoomt den Marker. Ich möchte, dass es langsam zoomt, wenn die App geöffnet wird.Wie man einen Marker in einer Kartenaktivität in Android heranzoomen

Dies ist mein aktueller Code

LatLng mark = new LatLng(21.197384, 6.369441); 
mMap.addMarker(new MarkerOptions().position(mark).title("Marker for Mark")); 
mMap.moveCamera(CameraUpdateFactory.newLatLng(mark)); 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel)); 

Antwort

3

Verwenden mMap.animateCamera statt mMap.moveCamera

Sie können aber auch control the duration of the movement

animateCamera (CameraUpdate update, int durationMs, GoogleMap.CancelableCallback callback) 

In Ihrem Beispiel verwenden, ändern

mMap.moveCamera(CameraUpdateFactory.newLatLng(mark)); 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel)); 

für

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel)); 

oder, wenn Sie die Bewegung zum letzten 200ms wollen:

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel), 200, null); 
+0

leider bekomme ich ein paar Fehler, wenn ich die oben genannten Codes verwendet, die sagen kann, Camera nicht auflösen und Rückruf auflösen kann nicht – user6020197

+0

ich meine Antwort bearbeitet haben – antonio

+0

perfekt danke, es funktioniert großartig – user6020197

1

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel)); statt

mMap.moveCamera(CameraUpdateFactory.newLatLng(mark)); 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mark, zoomLevel)); 
1

Auf diese Weise versuchen Sie dies erreichen können -

CameraUpdate center= CameraUpdateFactory.newLatLng(new LatLng(latitude_origin, longitude_origin)); 
CameraUpdate zoom = CameraUpdateFactory.newLatLngZoom(new LatLng(latitude_origin, longitude_origin),3); 
    googleMap.animateCamera(center); 
    googleMap.animateCamera(zoom); 

Hoffe, das hilft!

Verwandte Themen