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

标签 ios swift mapkit mkusertrackingmode

我有一个嵌入在 View Controller 中的 mapView,我想显示用户的位置。在以下编译过程中,加载后的 map 什么都不做,也不显示用户的位置。我先在 viewDidLoad 中尝试了代码,然后在 viewDidFishingLoadingMap 中尝试了代码,因为我读到你需要先让 map 加载,但它仍然什么都不做。

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

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

最佳答案

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

swift

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

objective-c

[CLLocationManager requestWhenInUseAuthorization];

关于ios - 在 MapKit 中显示用户位置所需的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882966/

相关文章:

ios - Xcode 11 更新后,Multipeer Connectivity 无法正常工作

ios - 滚动时添加到 UITableViewCell 的图像出现在错误的行中

ios - 将属性传递给另一个 View

ios - 每日通知

ios - 如何使用swrevealviewcontroller打开菜单启动应用程序?

ios - UiSearchBar 用于 map ,例如使用 Swift 进行地址搜索

ios - 是否可以为 MKMapView 上的用户定位 Pin 设置固定的屏幕位置?

ios - MKAnnotationView Swift 添加 "Info"按钮

ios - 在 iOS 上,可以在主线程之外读取 UI 吗?

ios - 在 Tableview 中偏移 HeaderView 以显示类似卡片