iOS 原生地图地理编码与反地理编码(详解)

 更新时间:2017年04月23日 09:22:02   投稿:jingxian  
下面小编就为大家带来一篇iOS 原生地图地理编码与反地理编码(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能。

那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位、地理编码(包括反编码)功能。

在文件中导入

#import <CoreLocation/CoreLocation.h>

地理编码:

/** 
 地理编码 
 */
- (void)geocoder { 
   
  CLGeocoder *geocoder=[[CLGeocoder alloc]init]; 
   
  NSString *addressStr = @"广东省深圳市宝安区";//位置信息 
   
  [geocoder geocodeAddressString:addressStr completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { 
    if (error!=nil || placemarks.count==0) { 
      return ; 
    } 
    //创建placemark对象 
    CLPlacemark *placemark=[placemarks firstObject]; 
    //经度 
    NSString *longitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.longitude]; 
    //纬度 
    NSString *latitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.latitude]; 
     
    NSLog(@"经度:%@,纬度:%@",longitude,latitude); 
     
  }]; 
   
}

地理反编码:

/** 
 地理反编码 
 */
- (void)reverseGeocoder{ 
  //创建地理编码对象 
  CLGeocoder *geocoder=[[CLGeocoder alloc]init]; 
   
  //经度 
  NSString *longitude = @"113.23"; 
  //纬度 
  NSString *latitude = @"23.16"; 
   
   
  //创建位置 
  CLLocation *location=[[CLLocation alloc]initWithLatitude:[latitude floatValue] longitude:[longitude floatValue]]; 
   
   
  //反地理编码 
  [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { 
    //判断是否有错误或者placemarks是否为空 
    if (error !=nil || placemarks.count==0) { 
      NSLog(@"%@",error); 
      return ; 
    } 
    for (CLPlacemark *placemark in placemarks) { 
      //详细地址 
      NSString *addressStr = placemark.name; 
      NSLog(@"详细地址1:%@",addressStr); 
      NSLog(@"详细地址2:%@",placemark.addressDictionary); 
      NSLog(@"详细地址3:%@",placemark.locality); 
    } 
     
  }]; 
}

以上这篇iOS 原生地图地理编码与反地理编码(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IOS获取系统相册中照片的示例代码

    IOS获取系统相册中照片的示例代码

    在大家的日常开发中,经常会遇到有的app需要从系统相册中获取图片,如设置用户头像等,下面这篇文章给大家分享这个功能的实现,有需要的可以参考借鉴。
    2016-09-09
  • iOS中的UIKeyboard键盘视图使用方法小结

    iOS中的UIKeyboard键盘视图使用方法小结

    键盘视图我们平时在做App的时候都要调用得到,这里我们就来整理一下iOS中的UIKeyboard键盘视图使用方法小结,需要的朋友可以参考下
    2016-06-06
  • 详解iOS-按钮单选与多选逻辑处理

    详解iOS-按钮单选与多选逻辑处理

    本篇文章主要介绍了详解iOS-按钮单选与多选逻辑处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • iOS动态验证码实现代码

    iOS动态验证码实现代码

    本文通过实例代码给大家介绍了ios动态验证码的实现方法,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-04-04
  • 详解MacOs免密登录CentOs操作步骤

    详解MacOs免密登录CentOs操作步骤

    这篇文章主要介绍了详解MacOs免密登录CentOs操作步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Objective-C学习之ARC的实现方法

    Objective-C学习之ARC的实现方法

    自动引用计数(Automatic Reference Counting, ARC)把压在程序员们肩头的管理内存的重担卸除了不少,更不用说让跟踪内存泄漏那样的烦心事也少了很多。下面这篇文章主要给大家介绍了关于Objective-C学习之ARC的实现方法,需要的朋友可以参考借鉴下。
    2017-12-12
  • iOS10实现推送功能时的注意点和问题总结

    iOS10实现推送功能时的注意点和问题总结

    很多朋友都反馈,发现了iOS9升级到iOS10推送功能不正常的问题,所以这篇文章总结了一下要点,亲们可以根据以下步骤,逐步排查问题,也可以逐步实现iOS10的推送功能。下面来一起看看吧。
    2016-09-09
  • IOS UIImagePickerController从拍照、图库、相册获取图片

    IOS UIImagePickerController从拍照、图库、相册获取图片

    这篇文章主要介绍了IOS UIImagePickerController从拍照、图库、相册获取图片的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 关于iOS 11下app图标变空白问题的解决方法

    关于iOS 11下app图标变空白问题的解决方法

    升级到iOS11系统下自己的项目桌面app图标不见了,通过查找相关的资料终于找到了解决方法,下面这篇文章主要给大家介绍了关于iOS 11下app图标变空白问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • iOS 各种修饰符的区别汇总(推荐)

    iOS 各种修饰符的区别汇总(推荐)

    这篇文章给大家介绍了iOS 各种修饰符的区别汇总,需要的朋友参考下吧
    2017-10-10

最新评论