苹果手机怎么把经纬度转换成地理位置

2025-04-05 07:35:50
推荐回答(1个)
回答1:

用谷歌地图

1、导入coreLocation库

导入CoreLocation

2、需要在info.plist里设置权限
//允许在前台使用时获取GPS的描述
NSLocationAlwaysUsageDescription=YES
//允许永久使用GPS的描述
NSLocationWhenInUseUsageDescription=YES

info.plist设置

  • 创建工程项目和视图控制器

    1、创建一个Sing View Application工程项目;

    2、为项目命名,生成工程文件。

  • 引入CoreLocation框架

    1、包含头文件:#import

    CLGeocoder需要用到CoreLocation框架

    2、CLGeocoder编码是用Block回调的,所以返回坐标也使用Block。

    typedef void (^Coordinate2DBlock)(CLLocationCoordinate2D coordinate);

    3、__block的self,防止循环引用。

  • 开始地理编码(地名—>经纬度坐标)

    - (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;   

  • 根据CLGeocoder编码返回坐标

    返回所有符合地名的位置信息数组placemarks;

    这里取第一个位置信息[placemarks firstObject];

    取出经度:.location.coordinate.latitude;

    取出纬度:.location.coordinate.longitude;

  • 使用Block返回坐标

    1、自定义方法:

    - (void)geocodeAddress:(NSString *)address block:(Coordinate2DBlock)block

    2、处理传入地名,编码;

    3、返回成功/失败结果。

  • 开始位置编码

    调用自定义方法,回调结果

  • 效果如图

  • 如果您喜欢,请按投票;如果有疑问,欢迎一起探讨。