在MapKit中显示用户位置所需的步骤

时间:2018-10-18 21:38:50

标签: ios swift mapkit mkusertrackingmode

我在View Controller中嵌入了一个mapView,我想显示用户的位置。在编译以下内容时,加载后的地图不执行任何操作,也不显示用户的位置。我先在viewDidLoad中尝试了代码,然后在viewDidFishingLoadingMap中尝试了代码,因为我读到您需要先加载地图,但仍然无能为力。

除了设置跟踪模式之外,是否还有其他步骤可以使地图位于用户位置的中心?我在Objective-C中使用mapView.showsUserLocation = YES;[self.mapView setCenterCoordinate:userLocation.location.coordinate animated:YES];找到了various approaches },但似乎建议将以下内容用于Swift。

func mapViewDidFinishLoadingMap(_ mapView: MKMapView){
        mapView.setUserTrackingMode(.follow, animated:true)
}

1 个答案:

答案 0 :(得分:0)

  • 使用Interface Builder或代码enter image description here
  • 启用用户位置
  • 向{strong> info.plist 文件
  • 添加一个Privacy - Location Always and When In Use Usage Description(或您喜欢的任何其他位置使用模式)键。
  • 导入CoreLocation
  • 检查授权状态,并在需要访问位置时提示用户。

快速

if CLLocationManager.authorizationStatus() == .notDetermined {
    CLLocationManager().requestWhenInUseAuthorization()
}

Objective-c

[CLLocationManager requestWhenInUseAuthorization];