iOS开发 如何把地名转换为经纬度坐标

2026-02-18 12:03:08

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

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

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

iOS开发 如何把地名转换为经纬度坐标

2、引入CoreLocation框架

      1、包含头文件:#import <CoreLocation/CoreLocation.h>

CLGeocoder需要用到CoreLocation框架

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

typedef void (^Coordinate2DBlock)(CLLocationCoordinate2D coordinate);

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

iOS开发 如何把地名转换为经纬度坐标

3、

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

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

iOS开发 如何把地名转换为经纬度坐标

4、根据CLGeocoder编码返回坐标

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

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

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

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

iOS开发 如何把地名转换为经纬度坐标

5、使用Block返回坐标

      1、自定义方法:

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

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

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

iOS开发 如何把地名转换为经纬度坐标

6、开始位置编码

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

iOS开发 如何把地名转换为经纬度坐标

7、效果如图

iOS开发 如何把地名转换为经纬度坐标

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

iOS开发 如何把地名转换为经纬度坐标

猜你喜欢