用谷歌地图
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、返回成功/失败结果。
开始位置编码
调用自定义方法,回调结果
效果如图
如果您喜欢,请按投票;如果有疑问,欢迎一起探讨。