Телефонный код города с названием города на iOS - PullRequest
5 голосов
/ 13 февраля 2012

Во встроенном приложении голосовой почты Apple, когда он находит номер телефона, который не распознает в вашей адресной книге, он отображает приблизительное местоположение под номером, предположительно на основе номера телефона.Как они это сделали?Я предполагаю, что есть большая база данных кодов городов и телефонных номеров, каждая из которых связана с названием города или региона.Кто-нибудь знает, доступно ли это сопоставление приложениям через общедоступный API?

Существует множество шаблонных кодов для сопоставления почтового индекса с городом, но я не вижу, чтобы то же самое было с кодом городаобмен.Есть идеи?

Ответы [ 3 ]

2 голосов
/ 27 декабря 2013

Я создал файл plist, в котором содержатся коды городов и местоположения: areacodes.plist . Чтобы использовать его, выполните следующие действия:

Если вы просто не хотите использовать plist-файл:

1. Добавьте файл plist в ваш проект.

2. Загрузить файл:

NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"areacodes" ofType:@"plist"];
NSDictionary *areaCodeDict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

3. Используйте словарь, который вы загрузили. Ключами являются коды городов, значения - местоположения:

NSString *areaCode = @"801";
NSString *location = [self.areaCodeConversion objectForKey:areaCode];
NSLog(@"%@",location); // prints utah

Для использования включенного класса:

1. Добавьте загруженную папку в ваш проект.

2. Используйте включенный класс для доступа к информации о списке:

#import "AreaCodes.h"
...
AreaCodes *areaCodes = [[AreaCodes alloc] init];
NSString *location = [areaCodes getLocationForCode:@"801"];
NSLog(@"%@",location);
// prints "Utah"
1 голос
/ 31 октября 2012

Вероятно, они купили бы коммерческий продукт у такой компании, как Telcordia (trainfo.com).Я работаю на GreatData.com, и мы поддерживаем коды городов и префиксы (также называемые «NPA / NXX»), а также основной город (центр тарификации), часовой пояс, операционная компания и т. Д., Но мы неиметь широту / долготу.(Telcordia могла бы).

Я не верю, что вы можете найти данные, которые вы ищете, в бесплатном продукте.Мы потратили кучу времени на ручную проверку наших данных.

1 голос
/ 13 февраля 2012

Существует несколько веб-сайтов, которые сообщают вам город или города для данного кода города. Verizon имеет один , а другие сайты, такие как http://www.allareacodes.com/ и http://www.411.com/area_zip_codes, делают то же самое. Вероятно, вы также можете найти ту же информацию в начале своего телефонного справочника.

Поскольку существует меньше 1000 возможных кодов городов, я бы искал список кодов регионов , который вы можете включить в свою программу. Таким образом, этот аспект вашего приложения будет работать независимо от того, доступно сетевое соединение или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...