在Google Map SDK for IOS中,如何在不设置地图动画的情况下更改地图的方向?

在Google Map SDK for IOS中,如何在不设置地图动画的情况下更改地图的方向?,ios,google-maps-sdk-ios,Ios,Google Maps Sdk Ios,我可以使用 [googleMapView animateToBearing:0.5]; 但是如何做到这一点,使更改是即时的,没有动画?获取当前相机位置,更改方向,然后设置视图的相机位置: GMSCameraPosition *myCamera = googleMapView.camera; GMSCameraPosition *myNewCamera = [GMSCameraPosition cameraWithLatitude:myCamera.targetAsCoordinate.lati

我可以使用

[googleMapView animateToBearing:0.5];

但是如何做到这一点,使更改是即时的,没有动画?

获取当前相机位置,更改方向,然后设置视图的相机位置:

GMSCameraPosition *myCamera = googleMapView.camera;
GMSCameraPosition *myNewCamera = [GMSCameraPosition cameraWithLatitude:myCamera.targetAsCoordinate.latitude longitude:myCamera.targetAsCoordinate.longitude zoom:myCamera.zoom bearing:0.5 viewingAngle:myCamera.viewingAngle];
googleMapView.camera = myNewCamera;

由于没有像movetobearing这样的直接选项,因此可以使用上述方法。另一个选项是使用
[googleMapView animateToBearing:0.5]
然后将动画持续时间设置为非常低的值,例如0.0001f,这会提供运动的视觉效果

[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat: 0.0001f] forKey:kCATransactionAnimationDuration];
[mapView_ animateToBearing:0.5];
[CATransaction commit];

要获得更平滑和过渡的更新,请尝试以下操作(视图是GMSMapView)

[self.view animateToCameraPosition:[GMSCameraPosition cameraWithLatitude:coordinate.latitude longitude:coordinate.longitude zoom:15 bearing:bearing viewingAngle:45]];