2012-02-13 36 views
5

Trên ứng dụng Thư thoại tích hợp của Apple, khi nó tìm thấy số điện thoại không nhận ra trong sổ địa chỉ của bạn, nó hiển thị vị trí gần đúng theo số, có lẽ dựa trên số điện thoại. Họ đã làm điều đó như thế nào ?? Tôi đoán có một cơ sở dữ liệu lớn về mã vùng và số trao đổi trên điện thoại, mỗi bản đồ thành tên thành phố hoặc khu vực. Có ai biết liệu bản đồ này có thể truy cập vào ứng dụng thông qua API công khai không?Mã vùng điện thoại vào tên thành phố trên iOS

Có rất nhiều mã soạn sẵn để lập bản đồ mã ZIP cho thành phố, nhưng tôi không thấy nhiều điều đó cũng giống với mã vùng/trao đổi. Ý tưởng nào?

+0

Một câu hỏi tương tự đã được hỏi một ngày sau này một: http://stackoverflow.com/questions/9284212/how-to -locate-any-mobile-number-using-iphone-application/18930785 # 18930785 – newenglander

Trả lời

1

Có một số trang web sẽ cho bạn biết thành phố hoặc thành phố về mã vùng nhất định. Verizon has one và các trang web khác như http://www.allareacodes.com/http://www.411.com/area_zip_codes cũng làm tương tự. Bạn cũng có thể tìm thấy cùng một thông tin ở phía trước thư mục điện thoại địa phương của bạn.

Vì có ít hơn 1000 mã vùng có thể, tôi sẽ tìm kiếm area code list mà bạn có thể đưa vào chương trình của mình. Bằng cách đó, khía cạnh này của ứng dụng của bạn sẽ hoạt động cho dù kết nối mạng có khả dụng hay không.

1

Có thể họ đã mua một sản phẩm thương mại từ một công ty như Telcordia (trainfo.com). Tôi làm việc cho GreatData.com và chúng tôi duy trì mã vùng và tiền tố (còn được gọi là 'NPA/NXX'), cùng với thành phố chính (tỷ lệ trung tâm), múi giờ, công ty điều hành, v.v. nhưng chúng tôi không có vĩ độ/kinh độ. (Telcordia sẽ).

Tôi không tin rằng bạn có thể tìm thấy dữ liệu bạn đang tìm kiếm trong một sản phẩm miễn phí. Chúng tôi đã dành rất nhiều thời gian để xác minh dữ liệu của chúng tôi một cách thủ công.

2

Tôi đã tạo tệp plist có mã vùng và vị trí trong đó: areacodes.plist. Để sử dụng nó làm theo các bước sau:

Nếu bạn chỉ sẽ không sử dụng các tập tin plist:

1. Thêm file plist để dự án của bạn.

2. tải tập tin:

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

3. Sử dụng các từ điển mà bạn đã nạp. Các phím là mã vùng, các giá trị là các địa điểm:

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

Để sử dụng lớp bao gồm:

1. Thêm thư mục tải về dự án của bạn.

2. Sử dụng các lớp bao gồm truy cập thông tin plist:

#import "AreaCodes.h" 
... 
AreaCodes *areaCodes = [[AreaCodes alloc] init]; 
NSString *location = [areaCodes getLocationForCode:@"801"]; 
NSLog(@"%@",location); 
// prints "Utah" 
+0

đây là tuyệt vời .. ngoại trừ việc các tập tin không tồn tại .. giúp tôi upvote ... giúp các tập tin! –

+0

@alexgray Cảm ơn bạn đã chỉ ra điều đó. Tôi đã sửa liên kết và thêm một vài tệp nguồn. – Jbryson

Các vấn đề liên quan