2013-09-24 4 views
-1

У меня есть название города, но не значение long long для этого города. Как я могу получить значения lat и long из имени города, а затем сохранить его в переменной в iOS? Я видел обратное кодирование по георежиму, но примеры, которые я видел, противоположны тому, что я ищу (они находят название города из lat/lon).Как найти длинный лат от названия города

+5

Если ** обратное геокодирование ** является * противоположным * от того, что вы ищете, то что, по вашему мнению, называется тем, что вы ищете? – Joe

+0

Я пытался подтолкнуть вас в правильном направлении. Он называется ** [геокодирование] (https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html#//apple_ref/occ/instm/CLGeocoder/geocodeAddressDictionary:completionHandler :) ** и Джей Гаджар был близок. – Joe

+0

@ user2588945 Вы проверили документацию, попробовали что-то вроде 'geocodeAddressDictionary: completionHandler:' например и не работали? – Alladinian

ответ

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/course -1.00) @ 9/24/13, 14:34:18 Британское летнее время

Я просто регистрирую метку, чтобы вы получили немного больше, но вы можете увидеть lat, long Нью-Йорка.

+1

Тогда вы не используете iOS 7. Вместо этого попробуйте использовать 'lastObject'. – Abizern

Смежные вопросы