免费发布

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

  • 时间:2020-11-07 19:46:04
  • IOS
  • 浏览量:0
  • 发布会员:小狐狸
  • 举报
  • 当我们要在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 原生地图地理编码与反地理编码(详解)就是小编共享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持乐购源码。

    提示:喜欢这个作品给它点个红心和关注吧
    小狐狸