【问题标题】:When to use MKMapView's MKUserTrackingMode vs Location Manager's start updating location?何时使用 MKMapView 的 MKUserTrackingMode 与位置管理器的开始更新位置?
【发布时间】:2016-11-05 06:07:45
【问题描述】:

我正在制作一个跟踪用户位置的应用程序,目前我正在使用以下代码执行此操作(一旦用户授权跟踪他们的位置):

 override func viewDidLoad() {

    super.viewDidLoad()

    // set map View delegate
    mapView.delegate = self

    // turn on user tracking mode to follow user

    if tracking == true {
    mapView.userTrackingMode = MKUserTrackingMode.follow

    } else {
         mapView.userTrackingMode = MKUserTrackingMode.none
    }


}

这似乎可以很好地跟踪用户的位置,我想知道什么时候使用它,什么时候使用locationManager.startUpdatingLocation()stopUpdatingLocation()

【问题讨论】:

    标签: ios swift swift3 mapkit cllocationmanager


    【解决方案1】:

    当您的唯一目的是更新地图时,您可以使用userTrackingMode。但有时我们希望用户位置用于其他目的(例如,将其记录到某个数据库中,使用它来查看我们可能提供哪些商店和/或基于位置的特殊交易等)。事实上,我们可能会使用CLLocationManager,当地图可能根本不显示或至少还没有显示时。

    所以,如果您只关心更新地图,那么您可以使用userTrackingMode。但如果您关心独立于任何可视地图的位置,请使用CLLocationManager

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多