gpt4 book ai didi

ios - 使用 MKMapCamera 的最佳方式是什么

转载 作者:可可西里 更新时间:2023-11-01 05:40:50 28 4
gpt4 key购买 nike

我找到了三种使用 MKMapCamera 的方法,我想知道哪一种是最值得推荐的。我的目标是跟随用户,我想在每次位置更新时(每秒)更新相机。

1.

            MKMapCamera *newCamera = [MKMapCamera camera];
[newCamera setCenterCoordinate:newCoordinate];
[newCamera setPitch:60];
[newCamera setHeading:heading];
[newCamera setAltitude:eyeAltitude];
[mapView setCamera:newCamera];

2.

            MKMapCamera *newCamera = [MKMapCamera cameraLookingAtCenterCoordinate:newCoordinate
fromEyeCoordinate:oldCoordinate
eyeAltitude:eyeAltitude];
[newCamera setPitch:pitch];

[mapView setCamera:newCamera];

3.

            MKMapCamera *oldCamera = mapView.camera;
[oldCamera setCenterCoordinate:newCoordinate];
[oldCamera setPitch:60];
[oldCamera setHeading:heading];
[oldCamera setAltitude:eyeAltitude];

内存方面似乎 nr 3 是最体面的还是它是单例类?在大多数示例中,他们使用 nr1。

对于 nr3,我无法让动画正常工作。

谢谢!

最佳答案

使用 MKMapCamera,您可以设置 map 的方向,而不会干扰 View 上的变换,甚至不会检测用户的航向。

MKMapCamera *mapCamera = [[self.mvMap camera] copy];
[mapCamera setHeading:headingDegrees];
[self.mvMap setCamera:mapCamera animated:YES];

如果你不想要动画,你可以在现有相机上设置新的航向:

[self.mapView.camera setHeading:heading];

关于ios - 使用 MKMapCamera 的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27562690/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com