如何减慢 Google 地图中 iOS 的相机动画位置?
How to slow the camera animation location in Google Maps for iOS?
在 iOS 的 Google 地图应用中,当您点击“我的位置”按钮时,相机会从您当前所在的任何位置缓慢平移到您的当前位置。
根据 Google 的开发者文档,我实现了一种类似的方法,就像用户点击按钮时显示的方法:
- (void) animateToCameraPosition: (GMSCameraPosition *) cameraPosition;
这与我的代码相似:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
longitude: long zoom: 17];
[googleMapView animateToCameraPosition:camera];
它起作用了,相机会根据我指定的坐标平移到我想要的任何位置。但是,平移真的很快,实际上是瞬时的。
我希望相机从我所在的任何位置缓慢平移到指定位置,如 Google 地图中所示。
我怎样才能做到这一点?谢谢
基本上,您需要在代码周围放置 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]
将定义动画的持续时间。
对于 swift 3
CATransaction.begin()
CATransaction.setValue(Int(YOUR_SPEED), forKey: kCATransactionAnimationDuration)
// YOUR CODE IN HERE
CATransaction.commit()
在 iOS 的 Google 地图应用中,当您点击“我的位置”按钮时,相机会从您当前所在的任何位置缓慢平移到您的当前位置。
根据 Google 的开发者文档,我实现了一种类似的方法,就像用户点击按钮时显示的方法:
- (void) animateToCameraPosition: (GMSCameraPosition *) cameraPosition;
这与我的代码相似:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
longitude: long zoom: 17];
[googleMapView animateToCameraPosition:camera];
它起作用了,相机会根据我指定的坐标平移到我想要的任何位置。但是,平移真的很快,实际上是瞬时的。
我希望相机从我所在的任何位置缓慢平移到指定位置,如 Google 地图中所示。
我怎样才能做到这一点?谢谢
基本上,您需要在代码周围放置 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]
将定义动画的持续时间。
对于 swift 3
CATransaction.begin()
CATransaction.setValue(Int(YOUR_SPEED), forKey: kCATransactionAnimationDuration)
// YOUR CODE IN HERE
CATransaction.commit()