实现代码:
复制代码YYViewController.m文件
//
// YYViewController.m
// 19-地理编码
//
// Created by apple on 14-8-11.
// Copyright (c) 2014年 yangyong. All rights reserved.
//
#import "YYViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface YYViewController ()
@property(nonatomic,strong)CLGeocoder *geocoder;
#pragma mark-地理编码
- (IBAction)geocode;
@property (weak, nonatomic) IBOutlet UITextField *addressField;
@property (weak, nonatomic) IBOutlet UILabel *longitudeLabel;
@property (weak, nonatomic) IBOutlet UILabel *latitudeLabel;
@property (weak, nonatomic) IBOutlet UILabel *detailAddressLabel;
#pragma mark-反地理编码
- (IBAction)reverseGeocode;
@property (weak, nonatomic) IBOutlet UITextField *longitudeField;
@property (weak, nonatomic) IBOutlet UITextField *latitudeField;
@property (weak, nonatomic) IBOutlet UILabel *reverdeDetailAddressLabel;
@end
复制代码
@implementation YYViewController
#pragma mark-懒加载
-(CLGeocoder *)geocoder
{
if (_geocoder==nil) {
_geocoder=[[CLGeocoder alloc]init];
}
return _geocoder;
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
/**
* 地理编码:地名—>经纬度坐标
*/
- (IBAction)geocode {
//1.获得输入的地址
NSString *address=self.addressField.text;
if (address.length==0) return;
//2.开始地理编码
//说明:调用下面的方法开始编码,不管编码是成功还是失败都会调用block中的方法
[self.geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
//如果有错误信息,或者是数组中获取的地名元素数量为0,那么说明没有找到
if (error || placemarks.count==0) {
self.detailAddressLabel.text=@"你输入的地址没找到,可能在月球上";










