ios - 如何减慢 iOS 版 Google map 中的相机动画位置?

标签 ios objective-c iphone google-maps

在适用于 iOS 的 Google map 应用中,当您点击“我的位置”按钮时,相机会从您当前所在的任何位置缓慢平移到您的当前位置。

根据 Google 的开发者文档,我实现了一种类似于用户点击按钮时显示的方法:

- (void) animateToCameraPosition:   (GMSCameraPosition *)  cameraPosition;

这类似于我的代码:

 GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
                                                        longitude: long zoom: 17];

[googleMapView animateToCameraPosition:camera];

它起作用了,相机会根据我指定的坐标平移到我想要的任何位置。然而,平移速度非常快,实际上是瞬时的。

我希望相机从我所在的任何位置缓慢平移到指定位置,如 Google map 中所示。

我怎样才能做到这一点?谢谢

最佳答案

基本上,您需要将 CATransaction 放在您的代码中。

[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat: YOUR_SPEED] forKey:kCATransactionAnimationDuration];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
                                                    longitude: long zoom: 17];
[googleMapView animateToCameraPosition: camera];
[CATransaction commit];

[NSNumberWithFloat: YOUR_SPEED] 将定义动画的持续时间。

关于ios - 如何减慢 iOS 版 Google map 中的相机动画位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27911118/

相关文章:

ios - 如何将NSString转换为Appengine Blobstore的UIImage

iphone - 如何制作带列的 UITable?

ios - 更新时自定义注释不会在 map View 上更新

objective-c - 正确使用 CIDetectorTracking

ios - 完成模态视图后重新加载 UICollectionView

ios - 如何为具有随机位置的项目添加约束

iphone - 坐标中两条线的交点

iPhone:UIButton 不使用默认的按下突出显示

iphone - 如何在 MKMapView 上画一条线来显示用户走过的路线?

iphone - 如何创建实例数组?