zoukankan      html  css  js  c++  java
  • iOS.定位服务与地图应用.03.地理信息编码查询

    #import <UIKit/UIKit.h>
    #import <CoreLocation/CoreLocation.h>
    #import <AddressBook/AddressBook.h>
    #import <AddressBookUI/AddressBookUI.h>
    
    @interface T20140621221104ViewController : UIViewController
    
    @property (weak, nonatomic) IBOutlet UITextField *txtQueryKey;
    
    @property (weak, nonatomic) IBOutlet UITextView *txtView;
    
    - (IBAction)geocodeQuery:(id)sender;
    
    @end
    #import "T20140621221104ViewController.h"
    
    @interface T20140621221104ViewController ()
    
    @end
    
    @implementation T20140621221104ViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }- (IBAction)geocodeQuery:(id)sender {
        
        if (_txtQueryKey.text == nil || [_txtQueryKey.text length] == 0) {
            return;
        }
        
        CLGeocoder *geocoder = [[CLGeocoder alloc] init];
        [geocoder geocodeAddressString:_txtQueryKey.text completionHandler:^(NSArray *placemarks, NSError *error) {
            NSLog(@"查询记录数:%i",[placemarks count]);
            if ([placemarks count] > 0) {
                CLPlacemark* placemark = placemarks[0];
                
                CLLocationCoordinate2D coordinate = placemark.location.coordinate;
                NSString* strCoordinate  = [NSString stringWithFormat:@"经度:%3.5f 
    纬度:%3.5f",coordinate.latitude, coordinate.longitude];
                
                NSDictionary *addressDictionary =  placemark.addressDictionary;
                
                NSString *address = [addressDictionary
                                     objectForKey:(NSString *)kABPersonAddressStreetKey];
                address = address == nil ? @"": address;
                
                NSString *state = [addressDictionary
                                   objectForKey:(NSString *)kABPersonAddressStateKey];
                state = state == nil ? @"": state;
                
                NSString *city = [addressDictionary
                                  objectForKey:(NSString *)kABPersonAddressCityKey];
                city = city == nil ? @"": city;
                
                _txtView.text = [NSString stringWithFormat:@"%@ 
     %@ 
    %@ 
    %@",strCoordinate,state, address,city];
                
                //关闭键盘
                [_txtQueryKey resignFirstResponder];
            }
        }];
        
    }
    
    @end
  • 相关阅读:
    android-自定义View
    java
    记录-常用的开发技巧
    便签:
    zTree 树形控件 ajax动态加载数据
    jquery ajax 传数据到后台乱码的处理方法
    spring + quartz 定时
    SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇基础类型和日期类型报400错误解决方法
    复制新项目 ,tomcat部署时名字还是旧项目名
    jsp 通用获取所有表单值传后台
  • 原文地址:https://www.cnblogs.com/cqchen/p/3802081.html
Copyright © 2011-2022 走看看