【问题标题】:What does the 'shows user location' option of Map View do?地图视图的“显示用户位置”选项有什么作用?
【发布时间】:2013-11-17 18:00:10
【问题描述】:

我已在我的故事板中检查了地图视图的“显示用户位置”选项。 我正在使用模拟器,无法访问真实设备。当我运行代码时,我可以看到我的地图中的蓝色图标默认为加利福尼亚。

我想知道这个蓝色图标是否会在真实设备上更新?当用户移动时它会移动吗?

或者是否必须添加其他代码才能使其工作?

【问题讨论】:

  • 如果您希望地图在用户移动时跟随,您可能还需要在代码中将userTrackingMode 设置为MKUserTrackingModeFollowMKUserTrackingModeFollowWithHeading
  • @Rob - 你是什么意思?基本上用户会四处走动,我希望蓝色图标跟随他们去哪里,这样他们就知道他们在哪里与我的注释相关。下面的Gabriele说这就是我所需要的......?请详细说明。谢谢。
  • 问题是地图是否保持固定而蓝点在地图上移动(MKUserTrackingModeNone),或者用户的蓝点是否停留在屏幕中间而地图在背景中移动以跟随用户并将蓝色图标保持在地图视图的中间 (MKUserTrackingModeFollow)。在支持航向(即指南针)的设备上,MKUserTrackModeFollowWithHeading 更进一步,因此地图中的“向上”通常是设备指向的方向。
  • 好的。我要说这对我来说不是问题。我希望它像手机上的法线贴图一样工作。比如苹果地图/谷歌地图。如果我四处走动,我可以移动地图,蓝色图标也可以移动。谢谢。
  • 非常好。请注意,这些地图应用程序允许用户在“无跟踪模式”和“跟踪模式跟随”之间切换(通常通过点击小箭头按钮,尽管这两个应用程序的用户界面略有不同)。

标签: ios map mkmapview cllocationmanager


【解决方案1】:

情节提要选项对应于MKMapViewshowsUserLocation 属性。来自documentation(已添加重点)

这个属性并不表示用户的位置是否真的在地图上可见,只表示地图视图是否应该尝试显示它。将此属性设置为 YES 会导致地图视图使用核心位置框架来查找当前位置并尝试将其显示在地图上。 只要此属性为 YES,地图视图就会继续跟踪用户的位置并定期更新。此属性的默认值为 NO。

当然,这假设位置服务已开启并且用户授予应用访问它们的权限。

【讨论】:

  • 是的。不需要额外的代码,除非你需要做一些额外的事情,比如像 Rob 建议的那样用标题旋转地图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多