在适用于IOS的Google Map SDK中,如何在不动画的情况下更改地图的方位角?

时间:2013-07-19 21:02:39

标签: ios google-maps-sdk-ios

我可以使用

更改地图的方位
[googleMapView animateToBearing:0.5];

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

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

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

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