1

我有一个嵌入在视图控制器中的 mapView,我想显示用户的位置。虽然以下编译,加载后的地图什么都不做,也不显示用户的位置。我首先在 viewDidLoad 中尝试了代码,然后在 viewDidFishingLoadingMap 中尝试了代码,因为我读到您需要先让地图加载,但它仍然什么也不做。

除了设置跟踪模式以使地图以用户位置为中心之外,还有其他步骤吗?我在 Objective-C 中使用or } 找到了各种方法, 但似乎建议 Swift 使用以下方法。mapView.showsUserLocation = YES;[self.mapView setCenterCoordinate:userLocation.location.coordinate animated:YES];

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

1 回答 1

2
  • 使用 Interface Builder 或代码启用用户位置在此处输入图像描述
  • 向info.plist文件添加Privacy - Location Always and When In Use Usage Description(或您喜欢的任何其他位置使用模式)密钥
  • 进口CoreLocation
  • 检查授权状态并在需要时提示用户进行位置访问。

迅速

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

目标-c

[CLLocationManager requestWhenInUseAuthorization];
于 2018-10-18T22:05:36.250 回答