iOS开发之CoreLocation(二)

CLGeocoder地理编码

使用方法

1     CLGeocoder *clg = [[CLGeocoder alloc] init];
2     [clg geocodeAddressString:@"北京" completionHandler:^(NSArray *placemarks, NSError *error) {
3         
4     }];

placemarks返回一个placemark

  1 Printing description of [0]->[0]:
  2 Beijing<GEOMapItemStorage: 0x7a07c1a0> {
  3     placeData =     {
  4         component =         (
  5                         {
  6                 attribution =                 {
  7                     "attribution_url" =                     (
  8                         "iosamap://viewPOIDetail?sourceApplication=apple&poiid="
  9                     );
 10                     "vendor_id" = "com.autonavi";
 11                 };
 12                 "cache_control" = CACHEABLE;
 13                 "start_index" = 0;
 14                 status = "STATUS_SUCCESS";
 15                 timestampFirstSeen = "446534233.68342";
 16                 ttl = 15811200;
 17                 type = "COMPONENT_TYPE_ENTITY";
 18                 value =                 (
 19                                         {
 20                         entity =                         {
 21                             name =                             (
 22                                                                 {
 23                                     locale = en;
 24                                     "string_value" = Beijing;
 25                                 }
 26                             );
 27                             type = "ADMINISTRATIVE_AREA";
 28                         };
 29                     }
 30                 );
 31                 "values_available" = 1;
 32                 version = 1;
 33                 "version_domain" =                 (
 34                     autonavi,
 35                     fwdgeo,
 36                     cn
 37                 );
 38             },
 39                         {
 40                 attribution =                 {
 41                     "attribution_url" =                     (
 42                         "iosamap://viewPOIDetail?sourceApplication=apple&poiid="
 43                     );
 44                     "vendor_id" = "com.autonavi";
 45                 };
 46                 "cache_control" = CACHEABLE;
 47                 "start_index" = 0;
 48                 status = "STATUS_SUCCESS";
 49                 timestampFirstSeen = "446534233.68342";
 50                 ttl = 15811200;
 51                 type = "COMPONENT_TYPE_ADDRESS";
 52                 value =                 (
 53                                         {
 54                         address =                         {
 55                             "localized_address" =                             (
 56                                                                 {
 57                                     address =                                     {
 58                                         formattedAddressLine =                                         (
 59                                             "Beijing China"
 60                                         );
 61                                         structuredAddress =                                         {
 62                                             administrativeArea = Beijing;
 63                                             country = China;
 64                                             countryCode = CN;
 65                                             geoId =                                             (
 66                                             );
 67                                             locality = Beijing;
 68                                         };
 69                                     };
 70                                     locale = en;
 71                                 }
 72                             );
 73                             "spoken_navigation_address" =                             (
 74                                                                 {
 75                                     locale = "en_US";
 76                                     "string_value" = "Beijing China";
 77                                 }
 78                             );
 79                             "spoken_structured_address" =                             (
 80                                                                 {
 81                                     "spoken_structured_address" =                                     {
 82                                         administrativeArea = Beijing;
 83                                         country = China;
 84                                         countryCode = CN;
 85                                         geoId =                                         (
 86                                         );
 87                                         locality = Beijing;
 88                                     };
 89                                 }
 90                             );
 91                         };
 92                     }
 93                 );
 94                 "values_available" = 1;
 95                 version = 1;
 96                 "version_domain" =                 (
 97                     autonavi,
 98                     fwdgeo,
 99                     cn
100                 );
101             },
102                         {
103                 attribution =                 {
104                     "attribution_url" =                     (
105                         "iosamap://viewPOIDetail?sourceApplication=apple&poiid="
106                     );
107                     "vendor_id" = "com.autonavi";
108                 };
109                 "cache_control" = CACHEABLE;
110                 "start_index" = 0;
111                 status = "STATUS_SUCCESS";
112                 timestampFirstSeen = "446534233.68342";
113                 ttl = 15811200;
114                 type = "COMPONENT_TYPE_PLACE_INFO";
115                 value =                 (
116                                         {
117                         "place_info" =                         {
118                             center =                             {
119                                 lat = "39.904989";
120                                 lng = "116.405285";
121                             };
122                             timezone =                             {
123                                 identifier = "Asia/Shanghai";
124                             };
125                         };
126                     }
127                 );
128                 "values_available" = 1;
129                 version = 1;
130                 "version_domain" =                 (
131                     autonavi,
132                     fwdgeo,
133                     cn
134                 );
135             },
136                         {
137                 "cache_control" = CACHEABLE;
138                 "start_index" = 0;
139                 status = "FAILED_NO_RESULT";
140                 timestampFirstSeen = "446534233.68342";
141                 type = "COMPONENT_TYPE_HOURS";
142                 "values_available" = 0;
143             },
144                         {
145                 "cache_control" = CACHEABLE;
146                 "start_index" = 0;
147                 status = "FAILED_NO_RESULT";
148                 timestampFirstSeen = "446534233.68342";
149                 type = "COMPONENT_TYPE_RATING";
150                 "values_available" = 0;
151             },
152                         {
153                 attribution =                 {
154                     "attribution_url" =                     (
155                         "iosamap://viewPOIDetail?sourceApplication=apple&poiid="
156                     );
157                     "vendor_id" = "com.autonavi";
158                 };
159                 "cache_control" = CACHEABLE;
160                 "start_index" = 0;
161                 status = "STATUS_SUCCESS";
162                 timestampFirstSeen = "446534233.68342";
163                 ttl = 15811200;
164                 type = "COMPONENT_TYPE_BOUNDS";
165                 value =                 (
166                                         {
167                         bounds =                         {
168                             "map_region" =                             {
169                                 eastLng = "115.956516";
170                                 northLat = "39.319976";
171                                 southLat = "40.490002";
172                                 westLng = "116.854054";
173                             };
174                         };
175                     }
176                 );
177                 "values_available" = 1;
178                 version = 1;
179                 "version_domain" =                 (
180                     autonavi,
181                     fwdgeo,
182                     cn
183                 );
184             }
185         );
186         "result_provider_id" = 57879;
187         status = "STATUS_SUCCESS";
188     };
189 }

placemark的属性

 1 /*
 2  *  location
 3  *  
 4  *  Discussion:
 5  *    Returns the geographic location associated with the placemark.
 6  */
 7 @property (nonatomic, readonly, copy) CLLocation *location;
 8 
 9 /*
10  *  region
11  *  
12  *  Discussion:
13  *    Returns the geographic region associated with the placemark.
14  */
15 @property (nonatomic, readonly, copy) CLRegion *region;
16 
17 /*
18  *  addressDictionary
19  *  
20  *  Discussion:
21  *    This dictionary can be formatted as an address using ABCreateStringWithAddressDictionary,
22  *    defined in the AddressBookUI framework.
23  */
24 @property (nonatomic, readonly, copy) NSDictionary *addressDictionary;
25 
26 // address dictionary properties
27 @property (nonatomic, readonly, copy) NSString *name; // eg. Apple Inc.
28 @property (nonatomic, readonly, copy) NSString *thoroughfare; // street address, eg. 1 Infinite Loop
29 @property (nonatomic, readonly, copy) NSString *subThoroughfare; // eg. 1
30 @property (nonatomic, readonly, copy) NSString *locality; // city, eg. Cupertino
31 @property (nonatomic, readonly, copy) NSString *subLocality; // neighborhood, common name, eg. Mission District
32 @property (nonatomic, readonly, copy) NSString *administrativeArea; // state, eg. CA
33 @property (nonatomic, readonly, copy) NSString *subAdministrativeArea; // county, eg. Santa Clara
34 @property (nonatomic, readonly, copy) NSString *postalCode; // zip code, eg. 95014
35 @property (nonatomic, readonly, copy) NSString *ISOcountryCode; // eg. US
36 @property (nonatomic, readonly, copy) NSString *country; // eg. United States
37 @property (nonatomic, readonly, copy) NSString *inlandWater; // eg. Lake Tahoe
38 @property (nonatomic, readonly, copy) NSString *ocean; // eg. Pacific Ocean
39 @property (nonatomic, readonly, copy) NSArray *areasOfInterest; // eg. Golden Gate Park
40 @end

需要什么属性可以自己查找

reverseGeocode反地理编码

 

1     CLGeocoder *clg1 = [[CLGeocoder alloc] init];
2     CLLocation *clt = [[CLLocation alloc] initWithLatitude:40 longitude:116];
3     [clg1 reverseGeocodeLocation:clt completionHandler:^(NSArray *placemarks, NSError *error) {
4         
5     }];

一样的东西 

原文地址:https://www.cnblogs.com/dongwenbo/p/4299477.html