在适用于 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/