根据用户标题更新iOS地图

时间:2016-01-19 21:39:29

标签: ios swift mapkit

我遇到了启用地图自动跟踪用户标题的问题。我已经请求了所有必要的授权,并且能够捕获用户位置信息。我目前正在调用此功能,以用户的位置为中心,它正在运行。如果我添加包含map.setUserTrackingMode的行,则会出错。

我错过了什么吗?

我正在使用的代码:

func centerMapOnLocation(location: CLLocation) {
        let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate, regionRadius, regionRadius)
        map.setRegion(coordinateRegion, animated: true)
        map.setUserTrackingMode(MKUserTrackingMode.FollowWithHeading, animated: true)

}

代码调用此函数:

func mapView(mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation) {
    if let loc = userLocation.location {
        centerMapOnLocation(loc)

    }
}

1 个答案:

答案 0 :(得分:0)

可能是setUserTrackingMode干扰了setRegion。两种方法都将地图置于中心位置,尝试推迟跟踪模式的设置,这也是https://stackoverflow.com/a/16617914/5806210的建议,或者您也可以使用特殊按钮MKUserTrackingBarButtonItem实现跟踪模式。