iOS iPhone显示用户在空间中的方向和方向,如MKMapView上的指南针应用程序

Ale*_*one 5 iphone objective-c mkmapview cllocationmanager compass-geolocation

当指南针应用程序使用地图视图显示它的位置时,会有一个小圆锥体显示手机指向的方向.但是,我无法使用显示用户位置的MKMapView重现它.这种视锥功能是开发人员可以使用的,还是我必须自己实现?

iPhone指南针地图应用程序

谢谢!

Env*_*vil 5

这非常容易,就像 MapKit 的小菜一碟。这称为 UserTrackingMode。您只写了一行代码就可以使地图变得“像指南针一样”:

 [mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];
Run Code Online (Sandbox Code Playgroud)

此外,UserTrackingMode 大约有 3 种类型:

- MKUserTrackingModeNone (free scrolling map)
- MKUserTrackingModeFollow (center the user's location)
- MKUserTrackingModeFollowWithHeading (center user's location and track user's heading (direction)).
Run Code Online (Sandbox Code Playgroud)

如果您处于 2 种跟踪(非免费)模式之一,则向外滚动地图,该模式将自动更改为免费模式。


zol*_*lio 1

我也遇到过类似的情况。我认为我们没有库或设置来显示蓝色图标上的方向(至少我的搜索没有成功)。

然而,使用 CLHeading 创建我们自己的方向指示器并不困难(参考 TommyG 的答案)。

我所做的就是显示地图中的蓝色图标,并在不同的视图中提供一个小箭头来指示方向。

希望这会以某种方式有所帮助