gpt4 book ai didi

ios - CLGeocoder:美国州名将以短代码形式出现

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:20 26 4
gpt4 key购买 nike

我正在 iOS 8.0 中开发应用。

通过下面的链接,我正在分配位置对象, How can I get current location from user in iOS

我的目标是根据当前位置找出城市、州和国家/地区的名称。使用此链接的答案,我得到了 Apple 地理编码器中使用的地点标记对象。 Get current city and country from CLGeocoder?

一切都很好,只是

当我获取美国国家/地区的州名称时。它给我简码,而不是完整的州名。

例如对于 Alaska 它给了我 AK 对于 Alabama 它给了我 AL

这是我的日志,

 North Kingstown, RI, United States

我想要完整的状态名称,因为我想在我的项目中使用完整的状态名称。

我正在通过此代码获取州名称,

 NSString *stateName=myPlacemark.administrativeArea;

最佳答案

带有美国州列表 + ISO 代码的 Swift 5 枚举:

https://gist.github.com/SergLam/a252dd01324b5e2c04ecbe79cbb6b8fb

// https://en.wikipedia.org/wiki/List_of_U.S._state_and_territory_abbreviations
// https://en.wikipedia.org/wiki/ISO_3166-2

// NOTE: - Last two symbols from ISO 3166-2 state code
enum USAState: Int, CaseIterable {

case alabama = 1
case alaska = 2
case arizona = 3
case arkansas = 4
case california = 5
case colorado = 6
case connecticut = 7
case delaware = 8
case districtOfColumbia = 9
case florida = 10
case georgia = 11
case hawaii = 12
case idaho = 13
case illinois = 14
case indiana = 15
case iowa = 16
case kansas = 17
case kentucky = 18
case louisiana = 19
case maine = 20
case maryland = 21
case massachusetts = 22
case michigan = 23
case minnesota = 24
case mississippi = 25
case missouri = 26
case montana = 27
case nebraska = 28
case nevada = 29
case newHampshire = 30
case newJersey = 31
case newMexico = 32
case newYork = 33
case northCarolina = 34
case northDakota = 35
case ohio = 36
case oklahoma = 37
case oregon = 38
case pennsylvania = 39
case rhodeIsland = 40
case southCarolina = 41
case southDakota = 42
case tennessee = 43
case texas = 44
case utah = 45
case vermont = 46
case virginia = 47
case washington = 48
case westVirginia = 49
case wisconsin = 50
case wyoming = 51

var displayName: String {
switch self {
case .alabama:
return "Alabama"
case .alaska:
return "Alaska"
case .arizona:
return "Arizona"
case .arkansas:
return "Arkansas"
case .california:
return "California"
case .colorado:
return "Colorado"
case .connecticut:
return "Connecticut"
case .delaware:
return "Delaware"
case .districtOfColumbia:
return "District of Columbia"
case .florida:
return "Florida"
case .georgia:
return "Georgia"
case .hawaii:
return "Hawaii"
case .idaho:
return "Idaho"
case .illinois:
return "Illinois"
case .indiana:
return "Indiana"
case .iowa:
return "Iowa"
case .kansas:
return "Kansas"
case .kentucky:
return "Kentucky"
case .louisiana:
return "Louisiana"
case .maine:
return "Maine"
case .maryland:
return "Maryland"
case .massachusetts:
return "Massachusetts"
case .michigan:
return "Michigan"
case .minnesota:
return "Minnesota"
case .mississippi:
return "Mississippi"
case .missouri:
return "Missouri"
case .montana:
return "Montana"
case .nebraska:
return "Nebraska"
case .nevada:
return "Nevada"
case .newHampshire:
return "New Hampshire"
case .newJersey:
return "New Jersey"
case .newMexico:
return "New Mexico"
case .newYork:
return "New York"
case .northCarolina:
return "North Carolina"
case .northDakota:
return "North Dakota"
case .ohio:
return "Ohio"
case .oklahoma:
return "Oklahoma"
case .oregon:
return "Oregon"
case .pennsylvania:
return "Pennsylvania"
case .rhodeIsland:
return "Rhode Island"
case .southCarolina:
return "South Carolina"
case .southDakota:
return "South Dakota"
case .tennessee:
return "Tennessee"
case .texas:
return "Texas"
case .utah:
return "Utah"
case .vermont:
return "Vermont"
case .virginia:
return "Virginia"
case .washington:
return "Washington"
case .westVirginia:
return "West Virginia"
case .wisconsin:
return "Wisconsin"
case .wyoming:
return "Wyoming"
}
}

var stateCode: String {
switch self {
case .alabama:
return "AL"
case .alaska:
return "AK"
case .arizona:
return "AZ"
case .arkansas:
return "AR"
case .california:
return "CA"
case .colorado:
return "CO"
case .connecticut:
return "CT"
case .delaware:
return "DE"
case .districtOfColumbia:
return "DC"
case .florida:
return "FL"
case .georgia:
return "GA"
case .hawaii:
return "HI"
case .idaho:
return "ID"
case .illinois:
return "IL"
case .indiana:
return "IN"
case .iowa:
return "IA"
case .kansas:
return "KS"
case .kentucky:
return "KY"
case .louisiana:
return "LA"
case .maine:
return "ME"
case .maryland:
return "MD"
case .massachusetts:
return "MA"
case .michigan:
return "MI"
case .minnesota:
return "MN"
case .mississippi:
return "MS"
case .missouri:
return "MO"
case .montana:
return "MT"
case .nebraska:
return "NE"
case .nevada:
return "NV"
case .newHampshire:
return "NH"
case .newJersey:
return "NJ"
case .newMexico:
return "NM"
case .newYork:
return "NY"
case .northCarolina:
return "NC"
case .northDakota:
return "ND"
case .ohio:
return "OH"
case .oklahoma:
return "OK"
case .oregon:
return "OR"
case .pennsylvania:
return "PA"
case .rhodeIsland:
return "RI"
case .southCarolina:
return "SC"
case .southDakota:
return "SD"
case .tennessee:
return "TN"
case .texas:
return "TX"
case .utah:
return "UT"
case .vermont:
return "VT"
case .virginia:
return "VA"
case .washington:
return "WA"
case .westVirginia:
return "WV"
case .wisconsin:
return "WI"
case .wyoming:
return "WY"
}
}

var isoStateCode: String {
switch self {
default:
return "USA-\(self.stateCode)"
}
}

}

关于ios - CLGeocoder:美国州名将以短代码形式出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31158998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com