Controlling Animation Duration in Google Maps for iOS

animation, google-maps-sdk-ios, ios

Solution

I found the answer ... you can control the animation duration by wrapping one of the animate* methods in a CATransaction, like this:

   [CATransaction begin];
   [CATransaction setValue:[NSNumber numberWithFloat: 1.0f] forKey:kCATransactionAnimationDuration];
   // change the camera, set the zoom, whatever.  Just make sure to call the animate* method.
   [self.mapView animateToCameraPosition: [self newCamera]];
   [CATransaction commit];

Problem

The documentation for Google Maps for iOS states that: Call one of several methods that allow you to animate the camera moving to a new location. You can control the duration of the animation with CoreAnimation. For the life of me, I can't figure out how to control the animation duration. I have tried using UIView animations, like: ``` [UIView animateWithDuration: 5 animations:^{ GMSCameraPosition *camera = [self newCamera]; self.mapView.camera = camera; } completion:^(BOOL finished) { }]; ``` And I have looked at CALayer animations in CoreAnimation. However, I don't know how you would apply a layer animation to the map view. Can someone point me in the right direction please?

Original source

Related problems