我有一个城市名称,但没有该城市的lat长值。我如何从城市名称中获取lat和long值,然后将其保存到iOS中的变量?我已经看过地理反向编码,但我看到的例子与我正在寻找的相反(他们从纬度/经度中找到城市名称)。
答案 0 :(得分:5)
创建地理编码器并传入字符串名称:
确保将CoreLocation添加到项目和#import <CoreLocation/CoreLocation.h>
,或者,如果您使用Xcode 5,模块支持将自动链接到@import CoreLocation;
NSString *city = @"New York, New York";
CLGeocoder *geocoder = [CLGeocoder new];
[geocoder geocodeAddressString:city completionHandler:^(NSArray *placemarks, NSError *error) {
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
return; // Bail!
}
if ([placemarks count] > 0) {
CLPlacemark *placemark = [placemarks lastObject]; // firstObject is iOS7 only.
NSLog(@"Location is: %@", placemark.location);
}
}];
给出了
位置是:&lt; + 40.72377900,-73.99128900&gt; +/- 100.00米(速度-1.00 mps /航向-1.00)@ 9/24/13,2:34:18 PM英国夏令时
我只是记录了地标,所以你得到了更多,但是你可以看到那里的纽约,那里的纽约。