美文网首页
iOS -CoreLocation框架(反)地理编码

iOS -CoreLocation框架(反)地理编码

作者: 独角兽ios | 来源:发表于2016-04-24 17:08 被阅读125次

#import "ViewController.h"#import@interface ViewController ()

@property (weak, nonatomic) IBOutlet UITextView *addressTV;

@property (weak, nonatomic) IBOutlet UITextField *laTF;

@property (weak, nonatomic) IBOutlet UITextField *longTF;

/** 地理编码 */

@property (nonatomic, strong) CLGeocoder *geoC;

@end

@implementation ViewController


- (CLGeocoder *)geoC{  

  if (!_geoC) {       

 _geoC = [[CLGeocoder alloc] init];    

}   

 return _geoC;

}

#pragma mark -地理编码

- (IBAction)geoCoder {         

 NSString *addr  = self.addressTV.text;      

  if ([addr length] == 0) {       

 return; 

   }        [self.geoC geocodeAddressString:addr completionHandler:^(NSArray* _Nullable placemarks, NSError * _Nullable error) {

/**

*  CLPlacemark

location : 位置对象

addressDictionary : 地址字典

name : 地址全称

*/

if(error == nil)

{

NSLog(@"%@", placemarks);

[placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

NSLog(@"%@", obj.name);

self.addressTV.text = obj.name;

self.laTF.text = @(obj.location.coordinate.latitude).stringValue;

self.longTF.text = @(obj.location.coordinate.longitude).stringValue;

}];

}else

{

NSLog(@"cuowu--%@", error.localizedDescription);

}

}];

}

#pragma mark- 反地理编码

- (IBAction)reverseGeoCoder {           

 double lati = [self.laTF.text doubleValue];    

double longi = [self.longTF.text doubleValue];       

 // TODO: 容错       

 CLLocation *loc = [[CLLocation alloc] initWithLatitude:lati longitude:longi];    

[self.geoC reverseGeocodeLocation:loc completionHandler:^(NSArray* _Nullable placemarks, NSError * _Nullable error) {

if(error == nil)

{

NSLog(@"%@", placemarks);

[placemarks enumerateObjectsUsingBlock:^(CLPlacemark * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

NSLog(@"%@", obj.name);

self.addressTV.text = obj.name;

self.laTF.text = @(obj.location.coordinate.latitude).stringValue;

self.longTF.text = @(obj.location.coordinate.longitude).stringValue;

}];

}else

{

NSLog(@"cuowu");

}

}];

}

相关文章

  • iOS开发之定位

    一、介绍 1、定位使用CoreLocation框架2、主要功能(1)基础定位(2)地理编码反编码3、IOS8 IO...

  • iOS -CoreLocation框架(反)地理编码

    #import "ViewController.h"#import@interface ViewControlle...

  • IOS系统定位

    一、介绍 1、定位使用CoreLocation框架 2、功能 (1)、基础定位 (2)、地理编码 与反编...

  • iOS CoreLocation 定位实现

    CoreLocation 定位 iOS 地图 反编码 CoreLocation 实现基于 8.0 之后的使用方法,...

  • 定位CoreLocation

    CoreLocation用于获取设备的地理位置信息和方向 定位 比较两点之间的直线距离 地理编码 反地理编码

  • 基于CLGeocoder - 反地理编码

    iOS中CoreLocatio框架中的CLGeocoder 类不但为我们提供了地理编码方法,而且还提供了反地理编码...

  • 基于百度API的 - 反地理编码

    iOS中CoreLocatio框架中的CLGeocoder 类不但为我们提供了地理编码方法,而且还提供了反地理编码...

  • 地图(一)之CoreLocation

    CoreLocation CoreLocation用于地理定位,地理编码区域监听等(着重功能实现) 1.获取定位授...

  • iOS 地理编码 / 反地理编码

    一、CLGeocoder 地理编码 与 反地理编码 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址...

  • ios地图定位大头针

    corelocation框架用于地理定位 mapkit框架用于地图展示 corelocation框架中所有数据类型...

网友评论

      本文标题:iOS -CoreLocation框架(反)地理编码

      本文链接:https://www.haomeiwen.com/subject/dcyfrttx.html