-1

我有一个城市名称,但没有该城市的经纬度值。我将如何从城市名称中获取经纬度值,然后将其保存到 iOS 中的变量中?我见过地理反向编码,但我见过的例子与我正在寻找的相反(他们从纬度/经度中找到城市名称)。

4

1 回答 1

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);

    }
}];

这使

位置是:<+40.72377900,-73.99128900> +/- 100.00m(速度 -1.00 mps / 路线 -1.00)@ 2013 年 9 月 24 日,下午 2:34:18 英国夏令时

我只是记录地标,以便您获得更多信息,但是您可以在那里看到纽约的纬度,经度。

于 2013-09-24T13:37:10.250 回答