#import "ViewController.h"#import @interface ViewController ()@property (weak, nonatomic) IBOutlet UITextField *addressFiled;@property (weak, nonatomic) IBOutlet UILabel *latitudeLabel;@property (weak, nonatomic) IBOutlet UILabel *longitudeLabel;@property (weak,
nonatomic) IBOutlet UILabel *addressLabel;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}//地理编码:把位置转换为经纬度//开始编码- (IBAction)start { //0.名字是否为nil if (self.addressFiled.text.length
== 0) { return; } //1.创建编码对象 CLGeocoder *geocoder = [[CLGeocoder alloc]init]; //2.开始编码 [geocoder geocodeAddressString:self.addressFiled.text completionHandler:^(NSArray * _Nullable placemarks, NSError * _Nullable error) { //3.解析数据 //placemarks 一些位置信息 //先获取经纬度
和name //先做判断 if (placemarks.count == 0) { return ; } //便利数组 for (int i = 0; i < placemarks.count; i ++) { CLPlacemark *placemark = placemarks[i]; //打印坐标 // NSLog(@"%f--%f",placemark.location.coordinate.latitude,placemark.location.coordinate.longitude); self.latitudeLabel.text
= [NSString stringWithFormat:@"%f",placemark.location.coordinate.latitude]; self.longitudeLabel.text = [NSString stringWithFormat:@"%f",placemark.location.coordinate.longitude]; //打印名字// NSLog(@"%@",placemark.name); self.addressLabel.text = placemark.name;
//打印城市 NSLog(@"%@",placemark.country); } }]; }@end//// reverseViewController.m// 03-地理编码和反地理编码//// Created by Apple on 16/1/15.// Copyright © 2016年 itcast. All rights reserved.//#import "reverseViewController.h"#import @interface reverseViewController ()@property
(weak, nonatomic) IBOutlet UITextField *latitudeField;@property (weak, nonatomic) IBOutlet UITextField *longitudeField;@property (weak, nonatomic) IBOutlet UILabel *addressLabel;@end@implementation reverseViewController- (void)viewDidLoad { [super viewDidLoad];
// Do any additional setup after loading the view.}//反地理编码:把经纬度转换为地名//开始编码- (IBAction)start { //0.判断经纬度的值 if (self.latitudeField.text.length == 0 || self.longitudeField.text.length == 0) { return; } //1.创建编码对象 CLGeocoder *geocoder = [[CLGeocoder alloc]init];
//2.开始编码 CLLocation *location = [[CLLocation alloc]initWithLatitude:[self.latitudeField.text doubleValue] longitude:[self.longitudeField.text doubleValue]]; [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray * _Nullable placemarks, NSError
* _Nullable error) { //获取最后一个数据 CLPlacemark *placemark = placemarks.lastObject; NSLog(@"%@",placemark.name); self.addressLabel.text = placemark.name; }];}@end
OC地理编码和反编码
最新推荐文章于 2025-07-29 17:04:03 发布