Ios 使用MKMapCamera的最佳方式是什么

Ios 使用MKMapCamera的最佳方式是什么,ios,mkmapview,mkmapcamera,Ios,Mkmapview,Mkmapcamera,我找到了三种使用MKMapCamera的方法,我想知道哪一种是最推荐的。我的目标是跟踪用户,我想在每次位置更新时更新相机(所以每秒钟) 一, 二, 三, 内存明智似乎NR3最体面的一个还是它是一个单例类? 在大多数示例中,它们使用nr1 对于nr3,我无法让动画工作 谢谢 使用MKMapCamera,您可以设置地图的方向,而不会干扰视图上的变换,甚至不会检测到用户的标题 MKMapCamera *mapCamera = [[self.mvMap camera] copy]; [mapCamera

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

一,

二,

三,

内存明智似乎NR3最体面的一个还是它是一个单例类? 在大多数示例中,它们使用nr1

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


谢谢

使用MKMapCamera,您可以设置地图的方向,而不会干扰视图上的变换,甚至不会检测到用户的标题

MKMapCamera *mapCamera = [[self.mvMap camera] copy];
[mapCamera setHeading:headingDegrees]; 
[self.mvMap setCamera:mapCamera animated:YES];
如果不需要动画,可以在现有摄影机上设置新标题:

[self.mapView.camera setHeading:heading];

以Swift 5更新答案

下面的代码对我有效,无需调用
setCamera

let mapCamera = self.mapView.camera
mapCamera.heading = headingInDegrees
mapCamera.centerCoordinate = newCoordinate
也可以在现有摄影机上设置新标题,如下所示:

self.mapView.camera.heading = headingInDegrees

我不确定这会对我有什么帮助:)我知道有点晚了,可能只是在Objective-C中动画不起作用,但我使用了你所有的建议,它们都在Swift 5中动画。见下面我的答案。我发现在
MKMapCamera
上设置不同的属性比每次调用
setCamera
要好。
[self.mapView.camera setHeading:heading];
let mapCamera = self.mapView.camera
mapCamera.heading = headingInDegrees
mapCamera.centerCoordinate = newCoordinate
self.mapView.camera.heading = headingInDegrees