2

MKReverseGeocoderのドキュメントでは、administrativeAreaプロパティにより、ユーザーの現在の状態が示され、例では、状態名またはその省略形のいずれかが返されることが示されています。完全な州名の代わりに略語を取得する方法を誰かが知っているかどうか疑問に思っています...私は、HOWについて言及していないその簡単な例以外に、これが可能性さえあることを示すものを見つけることができませんでした。

ありがとう!

4

2 に答える 2

7

また、State フィールドを MKReverseGeocoder から 2 文字の略語に変換する必要があったため、次の plist を作成しました。

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

使用方法は次のとおりです。

// 私の初期設定で
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"USStateAbbreviations" ofType:@"plist"];
self.usStateAbbreviations = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

// MKReverseGeocoder デリゲート メソッド
- (void)reverseGeocoder:(MKReverseGeocoder *)ジオコーダー didFindPlacemark:(MKPlacemark *)placemark {   
...
    NSString *state = [address objectForKey:@"State"];
    NSString *stateAbbreviation = [self.usStateAbbreviations objectForKey:[state uppercaseString]];
    NSString *stateTarget = 状態;
    if (州の省略形) {
        stateTarget = stateAbbreviation;
    }    
...
}
于 2011-06-18T12:12:01.683 に答える
3

これを行う方法はありません。Apple ドキュメントに「CA またはカリフォルニア」と記載されている理由がわかりません。

状態を2文字の名前に変換するのは簡単です。次の plist (テーブル、または NSDictionary も機能します) を作成するだけです: http://www.usps.com/ncsc/lookups/usps_abbreviations.htmlを使用して、2 文字の略語を検索します。

于 2010-03-25T19:00:01.363 に答える