是否可以在不使用 CoreLocation 的情况下在 IOS 中获取位置?我们可以使用网络提供商获取它吗?

Posted

技术标签:

【中文标题】是否可以在不使用 CoreLocation 的情况下在 IOS 中获取位置?我们可以使用网络提供商获取它吗?【英文标题】:Is it possible to fetch location in IOS without using CoreLocation? Can we fetch it using network provider? 【发布时间】:2020-02-07 06:19:47 【问题描述】:

我想从网络提供商那里获取位置,而不是在 ios 中使用CoreLocation 框架。有可能这样做吗?

【问题讨论】:

【参考方案1】:

您可以获取设备的 IP 地址并使用开放的 api 获取 IP 地址详细信息。从那里您将能够获得大概的位置。

您可以使用this链接获取设备的IP地址。

【讨论】:

从IP地址,我只得到一个离我的实际位置大约100公里的位置。我不想要这么远的距离,我要找的是基于移动塔的位置。 在 iOS 上无法定位移动信号塔。【参考方案2】:

访问用户位置的最佳方式是通过 CLGeocoder,因为它是最可靠的来源。只有这样才能获得最准确的位置。

最好的选择是让用户以一种无害的方式选择他的位置。但是,这并不能保证您的请求会成功返回。

您也可以使用NSLocaletime zone,但它们并不可靠,因为它们取决于用户的设置。

在我看来,您最好的选择是尝试通过 IP 访问用户的位置。因此,使用 GeoIP 对 Web 服务请求的 IP 地址进行反向地理编码

我附上了我在下面找到的几个链接,看看,希望它对你有用。 您还可以查看 Maximinds GeoIP Api。可能有用

How to get an Ip address programatically

Maximinds GeoIP API

【讨论】:

以上是关于是否可以在不使用 CoreLocation 的情况下在 IOS 中获取位置?我们可以使用网络提供商获取它吗?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 CoreLocation/MapKit 查找纬度/经度附近的地址?

是否可以在不使用ajax请求的情况下检查用户是否在线?

是否可能 HTML 下载属性可以在不使用 javascript 的情况下下载多个文件?

是否可以在不使用 iOS SDK 的情况下集成 Facebook 登录?

是否可以在不使用malloc的情况下进行内存泄漏?

是否可以在不渲染 HTML 的情况下使用 React?