4

我可以使用更改地图的方位

[googleMapView animateToBearing:0.5];

但是如何做到这一点,所以变化是瞬间的,没有动画?

4

3 回答 3

3

抓取当前相机位置,改变方位,然后设置视图的相机位置:

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;
于 2013-07-22T08:18:21.163 回答
2

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

[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat: 0.0001f] forKey:kCATransactionAnimationDuration];
[mapView_ animateToBearing:0.5];
[CATransaction commit];
于 2013-07-25T16:52:58.970 回答
0

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

[self.view animateToCameraPosition:[GMSCameraPosition cameraWithLatitude:coordinate.latitude longitude:coordinate.longitude zoom:15 bearing:bearing viewingAngle:45]];
于 2013-12-25T21:33:30.787 回答