如何减慢Google Maps for iOS中的相机动画位置?

Pan*_*ngu 11 iphone google-maps objective-c ios

在适用于iOS的Google地图应用中,当您点按"我的位置"按钮时,相机会从您当前所在的位置慢慢平移到当前位置.

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

- (void) animateToCameraPosition:   (GMSCameraPosition *)  cameraPosition;
Run Code Online (Sandbox Code Playgroud)

这与我的代码类似:

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

[googleMapView animateToCameraPosition:camera];
Run Code Online (Sandbox Code Playgroud)

它工作正常,相机根据我指定的坐标平移到我想要的任何位置.然而,事实上,平移真的很快,很快.

我希望相机从我所在的任何位置慢慢平移到指定位置,如Google地图所示.

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

zta*_*tan 17

基本上,您需要放置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];
Run Code Online (Sandbox Code Playgroud)

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


小智 11

对于斯威夫特3

CATransaction.begin()
CATransaction.setValue(Int(YOUR_SPEED), forKey: kCATransactionAnimationDuration)
// YOUR CODE IN HERE
CATransaction.commit()
Run Code Online (Sandbox Code Playgroud)