【发布时间】:2015-04-13 14:23:26
【问题描述】:
当我的 gps 未打开或只是在用户将位置设置为 NEVER 时,我希望从我的 IOS 设备获取我的纬度和经度。
在android中我已经做到了。由于我是IOS开发的新手,有什么方法可以找出经纬度。
如果我以错误的方式提出问题,请要求编辑或执行。希望我已经清楚地提到了这个问题。
对此的任何帮助表示赞赏。
【问题讨论】:
当我的 gps 未打开或只是在用户将位置设置为 NEVER 时,我希望从我的 IOS 设备获取我的纬度和经度。
在android中我已经做到了。由于我是IOS开发的新手,有什么方法可以找出经纬度。
如果我以错误的方式提出问题,请要求编辑或执行。希望我已经清楚地提到了这个问题。
对此的任何帮助表示赞赏。
【问题讨论】:
iOS 只有CLLocationManager 可用于获取设备位置。 CLLocationManager 使用所有可能的方法来获取除冰的位置。
它使用蜂窝三角测量,只有在获得 GPS 定位后才会将这些位置传递给您的应用。
没有办法要求CLLocationManager 只使用蜂窝三角测量。如果您将desiredAccuracy 设置得更高,您可能只能根据蜂窝三角测量和 WiFi 获得位置。
所以你总是需要使用需要用户权限的CLLocationManager。
没有其他方法可以在 iOS 中获取用户位置。
【讨论】:
CLLocationManager 接收位置更新。根据您的需要使用- requestWhenInUseAuthorization 或- requestAlwaysAuthorization。
CLLocationManager 应该没有理由是nil
如果用户未授予应用位置权限,您将无法从 GPS 或蜂窝网络获取位置。
您也许可以根据 IP 地址得到一个粗略的近似值,但这远非精确。
【讨论】: