首页 > 代码库 > ios项目开发(天气预报项目):通过经纬度获取当前城市名称

ios项目开发(天气预报项目):通过经纬度获取当前城市名称



1 . 在项目里添加 CoreLocation.framework

2 .在 .h 文件输入如下:

1.#import <CoreLocation/CLLocation.h>
2.#import <CoreLocation/CLLocationManager.h>
3.#import <coreLocation/CLGeocoder.h>
4.#import <coreLocation/CLPlacemark.h>

3 . 在 .m文件输入如下:

1.// BeiJing
2.#define BJ_LATITUDE 40.06381
3.#define BJ_LONGITUDE 116.134657
4.#define SH_LATITUDE 31.219423
5.#define SH_LONGITUDE 121.496558
6.
7....
8.     CLLocation *loc = [[CLLocation alloc]initWithLatitude:BJ_LATITUDE longitude:BJ_LONGITUDE];
9.
10.    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
11.    [geocoder reverseGeocodeLocation:loc completionHandler:^(NSArray *array, NSError *error) {
12.
13.        if (array.count > 0) {
14.
15.            CLPlacemark *placemark = [array objectAtIndex:0];
16.
17.            NSString *city = placemark.administrativeArea;
18.            NSLog(@"位于:%@",city);
19.            NSLog(@"%@",placemark);
20.        }
21.    }];


4 . 结果:

1.2014-03-19 19:52:01.320 location[1366:70b] 位于:北京市
2.location[1366:70b] 中国北京市海淀区苏家坨镇, 中国北京市海淀区苏家坨镇 @ <+0.00000000,+0.00000000> +/- 100.00m, region CLCircularRegion (identifier:‘<+40.02953100,+116.20858200> radius 9051.17‘, center:<+40.02953100,+116.20858200>, radius:9051.17m)