2010-03-25 3 views
2

MKReverseGeocoder의 설명서에서 administrativeArea 속성은 사용자의 현재 상태를 알려주고 상태 이름 또는 약어의 결과를 반환한다는 예를 언급합니다. 나는 주 (州) 이름 대신에 약어 (abbreviation)를 얻는 방법을 아는 사람이 있는지 궁금해하고있다 ... 나는 이것을 언급하지 않은 간단한 예 외에도 가능성을 보여주는 아무것도 찾을 수 없었다.iPhone - MKReverseGeocoder.adminstrativeArea - 상태 약어 얻기

감사합니다.

답변

3

이렇게 할 방법이 없습니다. Apple 문서가 "CA 또는 캘리포니아"라고 말하는 이유를 모르겠습니다.

상태를 2 자로 쉽게 변환 할 수 있습니다. 다음의 것 중 plist (table 또는 NSDictionary works)를 만드십시오 : http://www.usps.com/ncsc/lookups/usps_abbreviations.html 그리고 그것을 사용하여 2 글자 약어를 찾으십시오.

+0

그래, 그건 :

https://github.com/djibouti33/US-State-Abbreviations 다음

내가 그것을 사용하는 방법을 내가 생각한 것. 확인을위한 감사함 : D. – RayJ

7

나는 또한 두 글자 약어로 MKReverseGeocoder에서 상태 필드를 변환하는 데 필요한, 그래서이 PLIST 생성 :

 
// in my init 
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"USStateAbbreviations" ofType:@"plist"]; 
self.usStateAbbreviations = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; 

// MKReverseGeocoder delegate method 
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark { 
... 
    NSString *state = [address objectForKey:@"State"]; 
    NSString *stateAbbreviation = [self.usStateAbbreviations objectForKey:[state uppercaseString]]; 
    NSString *stateTarget = state; 
    if (stateAbbreviation) { 
     stateTarget = stateAbbreviation; 
    }  
... 
} 
+2

나는이 대답을 정말로 좋아한다. 좋은 작업. –

+0

감사! 나는 이것을 사용했다. – wlindner