iOS中使用定位时首次定位会定位到(0,0),第二次开始才正常是什么原因?

新手上路,请多包涵

问题

iOS中使用CLLocationManager定位时首次定位会定位到(0,0),第二次开始才正常

平台

Xcode10

相关代码

func mapViewDidStopLocatingUser(_ mapView: MKMapView)

{
    let userCoordinate = mapView.userLocation.coordinate
    if userCoordinate.latitude != 0 || userCoordinate.longitude != 0
    {
        mapView.setRegion(MKCoordinateRegion(center: userCoordinate, span: MKCoordinateSpan(latitudeDelta: 0.5, longitudeDelta: 0.5)), animated: true)
    }
}

控制台输出:
第一次定位
It is requestAlwaysAuthorization in service.
Locating you = CLLocationCoordinate2D(latitude: 0.0, longitude: 0.0)
第二次定位:
It is requestAlwaysAuthorization in service.
Locating you = CLLocationCoordinate2D(latitude: 40.323220237616745, longitude: 120.35186464600588)
第三次定位:
It is requestAlwaysAuthorization in service.
Locating you = CLLocationCoordinate2D(latitude: 40.32324630077117, longitude: 120.35181804451575)

你期待的结果是什么?实际看到的错误信息又是什么?

想知道有哪些原因可能造成这个bug?

阅读 1.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题