如何从城市名称中找到lat long

use*_*945 -1 objective-c cllocationmanager ios

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

Abi*_*ern 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);

    }
}];
Run Code Online (Sandbox Code Playgroud)

这使

位置是:<+ 40.72377900,-73.99128900> +/- 100.00m(速度-1.00 mps /航向-1.00)@ 9/24/13,2:34:18 PM英国夏令时

我只是记录了地标,所以你得到了更多,但你可以看到那里的纽约长途跋涉.