如何在没有互联网连接的情况下从位置获取地址

Posted

技术标签:

【中文标题】如何在没有互联网连接的情况下从位置获取地址【英文标题】:How to get address from location without Internet connection 【发布时间】:2014-07-02 13:27:41 【问题描述】:

我正在开发一个应用程序,用于在蜂窝数据关闭或 WiFi 未连接时获取当前位置。

我使用了以下代码,但我得到的只有纬度和经度,没有带地址的位置。

所以我需要指导来实施它。

     - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

           NSLog(@"didUpdateToLocation: %@", newLocation);
            CLLocation *currentLocation1 = newLocation;

    if (currentLocation1 != nil)
     
        strLet=[NSString stringWithFormat:@"%f",currentLocation1.coordinate.latitude];
        strLong=[NSString stringWithFormat:@"%f",currentLocation1.coordinate.longitude];
        NSLog(@"%f",currentLocation1.coordinate.longitude);
       NSLog(@"%f",currentLocation1.coordinate.latitude);
       

谢谢。

【问题讨论】:

“完美位置”是什么意思? 查看有问题的变化 您要的是纬度、经度(请参阅您的问题的标题),现在您声称您得到了纬度/经度,但还想要一个地址? 可能重复:-***.com/questions/14326890/… 您从该位置获取地址的代码在哪里? 【参考方案1】:

为了您的信息,通过使用 GPS,我们可以在没有有效互联网连接的情况下获取当前位置,但是它

(1) 需要很长时间才能获得位置,(2) 在建筑物或街道内无法正常工作

--- 更新(问题已更新)---

通过使用苹果的原生 ios API,您可以使用 MKReverseGeocoder(在 MapKit 框架中提供)或 CLGeocoder(在 CoreLocation 框架中提供)进行反向地理编码。 但是,这需要有效的互联网连接才能从服务器获取数据。

因此,如果没有互联网连接使用原生 iOS API,您无法进行反向地理编码

但是,通过使用以下第三方库,您可以获得有限的可用地址信息(国家名称和 ISO 代码):IOS-Offline-GeoCoderios-offline-reverse-geocode-country,

【讨论】:

但它只返回纬度和经度,我可以在没有互联网连接的情况下从经度和纬度获取完整地址吗? 我认为这可能是 GPS 的限制,因为我在 (2) 中提到的在建筑物或街道内无法正常工作....但是让我对其进行一些研究,我会正确回复您回答.. @ Nitesh Borad 和 Rakesh Thummar,你有完整的地址吗? 如果有,请分享你的代码。提前致谢。 这是什么意思?上述答案的最后几行。 if (newLocation.horizo​​ntalAccuracy 20)返回; @Lydia:感谢您的关注。我已经删除了这些行,因为它们不是必需的。

以上是关于如何在没有互联网连接的情况下从位置获取地址的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Xcode、iPhone 中的谷歌地图的情况下从地址获取纬度和经度

如何在没有互联网的情况下从多个设备到单个设备进行通信[关闭]

如何在没有数据库连接的情况下从 dbplyr 生成 SQL?

如何在没有互联网连接的情况下在android中获取当前纬度和经度?

如何在没有互联网连接的情况下获取纬度和经度

如何在不使用return的情况下从函数中获取变量的地址(指针)