我可以使用
更改地图的方位[googleMapView animateToBearing:0.5];
但是如何做到这一点所以变化是即时的,没有动画?
答案 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]];