如何在swift ios中从移动网络获取纬度和经度[关闭]

Posted

技术标签:

【中文标题】如何在swift ios中从移动网络获取纬度和经度[关闭]【英文标题】:how to get Latitude and Longitude from mobile network in swift ios [closed] 【发布时间】:2021-12-30 09:03:52 【问题描述】:

当用户位置未打开时,我想从移动网络获取用户位置。像 android 网络提供商。

【问题讨论】:

ios 不提供从移动网络获取用户位置的特定 API。当您使用 CoreLocation 获取用户的位置时,iOS 会根据您要求的准确性使用一系列技术。 【参考方案1】:

这是 CoreLocation 的工作。流程如下:

    确保更新 Info.plist Privacy - Location When In Use Usage Description 或 Always 或 One Time,具体取决于应用程序

    导入核心位置

     import CoreLocation
    

    实例化一个 CoreLocationManager

     var locationManager = CLLocationManager()
    

    在要处理数据的 VC 或对象中,将其声明为 CLLocationManagerDelegate 并执行以下操作:

    locationManager.delegate = self
    locationManager.requestWhenInUseAuthorization()//there's a few option for this like 1 time or all the time. Choose what's right for your app
    locationManager.requestLocation()
    

    在您声明为 CLLocationManagerDelegate 的 VC 或对象中,实现 locationManager 委托方法 didUpdateLocation 和 didFailWithError(可选但推荐):

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
     print("Updated location to:")
     print(locations)//note this is an array!
     if let best_location = locations.last
         locationManager.stopUpdatingLocation()
         print("Lat:\(best_location.coordinate.latitude) Lon:\(best_location.coordinate.longitude)" // do with these whatever you need to
     
     
    
      func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) 
         print(error)//recommended you do something with UI to let user know if there's a problem
     
    

请参阅上面的 cmets,因为有一些特定于应用程序的曲折,但这是它的基础。请注意,在模拟器中,您可能会遇到奇怪的行为,并且您必须设置位置。我总是喜欢在真正的侧载设备上做这些事情。

【讨论】:

以上是关于如何在swift ios中从移动网络获取纬度和经度[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CLLocationManager-Swift 获取当前的经度和纬度

Swift:获取用户的位置坐标为纬度和经度?

如何在 iOs 中使用 CLGeoCoder 使用邮政编码/邮政编码获取纬度经度?

我如何从 struct 获取纬度和经度并在 mapbox Swift 上显示它们

如何从 ionic 2 中的谷歌地图获取纬度和经度?

如何在 iOS 上的变量中获取位置(纬度和经度值)?