2
我使用MKPlacemark
類來填充具有位置細節的標籤。撥打AdministrativeArea
財產時,會返回美國州的全名(例如西弗吉尼亞州)。是否有辦法只返回首字母縮寫(例如WV)?MKPlacemark:在AdministrativeArea中返回美國州名縮寫
我使用MKPlacemark
類來填充具有位置細節的標籤。撥打AdministrativeArea
財產時,會返回美國州的全名(例如西弗吉尼亞州)。是否有辦法只返回首字母縮寫(例如WV)?MKPlacemark:在AdministrativeArea中返回美國州名縮寫
Apple's docs for that property表明它沒有真正的定義它可以包含什麼。您最好的選擇是創建一個函數,將其從完整的狀態名稱映射到2個字母的代碼,並在顯示之前將屬性的結果傳遞給它。如果你沒有得到一個匹配,我會默認爲原始字符串。
-(NSString *)codeFromState:(NSString *)state {
NSArray *map = [NSArray arrayWithObjects:@"Alabama",@"AL", @"Alaska",@"AK", ... @"Wyoming", @"WY", nil];
for (int i = 0; i <[map count]; i+=2) {
if ([state compare:[map objectAtIndex:i]] == NSOrderedSame) {
return [map objectAtIndex:i+1];
}
}
return state;
}
我曾希望避免所有這些,但我想我必須這樣做。謝謝。 – dbarrett 2009-12-15 14:58:31
嗯。我想知道這個問題是否也可以爲各省妥善處理? (口音可能會傳回,也可能不傳回)。我似乎回想起,有一種方法可以進行比較,將所有這些差異消除掉。 – 2012-03-01 19:07:05
你也可以看看這個問題http://stackoverflow.com/questions/2518381/iphone-mkreversegeocoder-adminstrativearea-getting-state-abbreviation引用預構建的plist文件包含映射和示例代碼來提取它。 – 2013-03-14 10:30:53