1176 lines
57 KiB
Go
1176 lines
57 KiB
Go
package countryCenter
|
||
|
||
import (
|
||
"fmt"
|
||
"strings"
|
||
)
|
||
|
||
var countryCenter = map[string][2]float64{
|
||
"Afghanistan": {33.93911, 67.709953},
|
||
"Albania": {41.153332, 20.168331},
|
||
"Algeria": {28.033886, 1.659626},
|
||
"Andorra": {42.546245, 1.601554},
|
||
"Angola": {-11.202692, 17.873887},
|
||
"Antigua and Barbuda": {17.060816, -61.796428},
|
||
"Argentina": {-38.416097, -63.616672},
|
||
"Armenia": {40.069099, 45.038189},
|
||
"Australia": {-25.274398, 133.775136},
|
||
"Azerbaijan": {40.143105, 47.576927},
|
||
"Bahamas": {25.03428, -77.39628},
|
||
"Bahrain": {26.0667, 50.5577},
|
||
"Bangladesh": {23.684994, 90.356331},
|
||
"Barbados": {13.193887, -59.543198},
|
||
"Belarus": {53.709807, 27.953389},
|
||
"Belgium": {50.503887, 4.469936},
|
||
"Belize": {17.189877, -88.49765},
|
||
"Benin": {9.30769, 2.315834},
|
||
"Bhutan": {27.514162, 90.433601},
|
||
"Bolivia": {-16.290154, -63.588653},
|
||
"Bosnia and Herzegovina": {43.915886, 17.679076},
|
||
"Botswana": {-22.328474, 24.684866},
|
||
"Brazil": {-14.235004, -51.92528},
|
||
"Brunei": {4.535277, 114.727669},
|
||
"Bulgaria": {42.733883, 25.48583},
|
||
"Burkina Faso": {12.238333, -1.561593},
|
||
"Burundi": {-3.373056, 29.918886},
|
||
"Cabo Verde": {16.5388, -23.0418},
|
||
"Cambodia": {12.565679, 104.990963},
|
||
"Cameroon": {7.369722, 12.354722},
|
||
"Canada": {56.130366, -106.346771},
|
||
"Central African Republic": {6.611111, 20.939444},
|
||
"Chad": {15.454166, 18.732207},
|
||
"Chile": {-35.675147, -71.542969},
|
||
"China": {35.86166, 104.195397},
|
||
"Colombia": {4.570868, -74.297333},
|
||
"Comoros": {-11.6455, 43.3333},
|
||
"Congo": {-0.228021, 15.827659},
|
||
"Costa Rica": {9.748917, -83.753428},
|
||
"Croatia": {45.1, 15.2},
|
||
"Cuba": {21.521757, -77.781167},
|
||
"Cyprus": {35.126413, 33.429859},
|
||
"Czechia": {49.817492, 15.472962},
|
||
"Denmark": {56.26392, 9.501785},
|
||
"Djibouti": {11.825138, 42.590275},
|
||
"Dominica": {15.414999, -61.370976},
|
||
"Dominican Republic": {18.735693, -70.162651},
|
||
"Ecuador": {-1.831239, -78.183406},
|
||
"Egypt": {26.820553, 30.802498},
|
||
"El Salvador": {13.794185, -88.89653},
|
||
"Equatorial Guinea": {1.650801, 10.267895},
|
||
"Eritrea": {15.179384, 39.782334},
|
||
"Estonia": {58.595272, 25.013607},
|
||
"Eswatini": {-26.522503, 31.465866},
|
||
"Ethiopia": {9.145, 40.489673},
|
||
"Fiji": {-17.713371, 178.065032},
|
||
"Finland": {61.92411, 25.748151},
|
||
"France": {46.603354, 1.888334},
|
||
"Gabon": {-0.803689, 11.609444},
|
||
"Gambia": {13.443182, -15.310139},
|
||
"Georgia": {32.165622, -82.900075},
|
||
"Germany": {51.165691, 10.451526},
|
||
"Ghana": {7.946527, -1.023194},
|
||
"Greece": {39.074208, 21.824312},
|
||
"Grenada": {12.262776, -61.604171},
|
||
"Guatemala": {15.783471, -90.230759},
|
||
"Guinea": {9.945587, -9.696645},
|
||
"Guinea-Bissau": {11.803749, -15.180413},
|
||
"Guyana": {4.860416, -58.93018},
|
||
"Haiti": {18.971187, -72.285215},
|
||
"Honduras": {15.199999, -86.241905},
|
||
"Hungary": {47.162494, 19.503304},
|
||
"Iceland": {64.963051, -19.020835},
|
||
"India": {20.593684, 78.96288},
|
||
"Indonesia": {-0.789275, 113.921327},
|
||
"Iran": {32.427908, 53.688046},
|
||
"Iraq": {33.223191, 43.679291},
|
||
"Ireland": {53.41291, -8.24389},
|
||
"Israel": {31.046051, 34.851612},
|
||
"Italy": {41.87194, 12.56738},
|
||
"Jamaica": {18.109581, -77.297508},
|
||
"Japan": {36.204824, 138.252924},
|
||
"Jordan": {30.585164, 36.238414},
|
||
"Kazakhstan": {48.019573, 66.923684},
|
||
"Kenya": {-1.292066, 36.821946},
|
||
"Kiribati": {-3.370417, -168.734039},
|
||
"Kuwait": {29.31166, 47.481766},
|
||
"Kyrgyzstan": {41.20438, 74.766098},
|
||
"Laos": {19.85627, 102.495496},
|
||
"Latvia": {56.879635, 24.603189},
|
||
"Lebanon": {33.854721, 35.862285},
|
||
"Lesotho": {-29.609988, 28.233608},
|
||
"Liberia": {6.428055, -9.429499},
|
||
"Libya": {26.3351, 17.228331},
|
||
"Liechtenstein": {47.166, 9.555373},
|
||
"Lithuania": {55.169438, 23.881275},
|
||
"Luxembourg": {49.815273, 6.129583},
|
||
"Madagascar": {-18.766947, 46.869107},
|
||
"Malawi": {-13.254308, 34.301525},
|
||
"Malaysia": {4.210484, 101.975766},
|
||
"Maldives": {3.202778, 73.22068},
|
||
"Mali": {17.570692, -3.996166},
|
||
"Malta": {35.937496, 14.375416},
|
||
"Marshall Islands": {7.131474, 171.184478},
|
||
"Mauritania": {21.00789, -10.940835},
|
||
"Mauritius": {-20.348404, 57.552152},
|
||
"Mexico": {23.634501, -102.552784},
|
||
"Micronesia": {7.425554, 150.550812},
|
||
"Moldova": {47.411631, 28.369885},
|
||
"Monaco": {43.738417, 7.424616},
|
||
"Mongolia": {46.862496, 103.846656},
|
||
"Montenegro": {42.708678, 19.37439},
|
||
"Morocco": {31.791702, -7.09262},
|
||
"Mozambique": {-18.665695, 35.529562},
|
||
"Myanmar": {21.916221, 95.955974},
|
||
"Namibia": {-22.95764, 18.49041},
|
||
"Nauru": {-0.522778, 166.931503},
|
||
"Nepal": {28.394857, 84.124008},
|
||
"Netherlands": {52.132633, 5.291266},
|
||
"New Zealand": {-40.900557, 174.885971},
|
||
"Nicaragua": {12.865416, -85.207229},
|
||
"Niger": {17.607789, 8.081666},
|
||
"Nigeria": {9.081999, 8.675277},
|
||
"North Korea": {40.339852, 127.510093},
|
||
"North Macedonia": {41.608635, 21.745275},
|
||
"Norway": {60.472024, 8.468946},
|
||
"Oman": {21.512583, 55.923255},
|
||
"Pakistan": {30.375321, 69.345116},
|
||
"Palau": {7.51498, 134.58252},
|
||
"Palestine": {31.952162, 35.233154},
|
||
"Panama": {8.537981, -80.782127},
|
||
"Papua New Guinea": {-6.314993, 143.95555},
|
||
"Paraguay": {-23.442503, -58.443832},
|
||
"Peru": {-9.189967, -75.015152},
|
||
"Philippines": {12.879721, 121.774017},
|
||
"Poland": {51.919438, 19.145136},
|
||
"Portugal": {39.399872, -8.224454},
|
||
"Qatar": {25.354826, 51.183884},
|
||
"Romania": {45.943161, 24.96676},
|
||
"Russia": {61.52401, 105.318756},
|
||
"Rwanda": {-1.940278, 29.873888},
|
||
"Saint Kitts and Nevis": {17.357822, -62.782998},
|
||
"Saint Lucia": {13.909444, -60.978893},
|
||
"Saint Vincent and the Grenadines": {12.984305, -61.287228},
|
||
"Samoa": {-13.759029, -172.104629},
|
||
"San Marino": {43.94236, 12.457777},
|
||
"Sao Tome and Principe": {0.18636, 6.613081},
|
||
"Saudi Arabia": {23.885942, 45.079162},
|
||
"Senegal": {14.497401, -14.452362},
|
||
"Serbia": {44.016521, 21.005859},
|
||
"Seychelles": {-4.679574, 55.491977},
|
||
"Sierra Leone": {8.460555, -11.779889},
|
||
"Singapore": {1.352083, 103.819836},
|
||
"Slovakia": {48.669026, 19.699024},
|
||
"Slovenia": {46.151241, 14.995463},
|
||
"Solomon Islands": {-9.64571, 160.156194},
|
||
"Somalia": {5.152149, 46.199616},
|
||
"South Africa": {-30.559482, 22.937506},
|
||
"South Korea": {35.907757, 127.766922},
|
||
"South Sudan": {6.8769919, 31.3069788},
|
||
"Spain": {40.463667, -3.74922},
|
||
"Sri Lanka": {7.873054, 80.771797},
|
||
"Sudan": {12.862807, 30.217636},
|
||
"Suriname": {3.919305, -56.027783},
|
||
"Sweden": {60.128161, 18.643501},
|
||
"Switzerland": {46.818188, 8.227512},
|
||
"Syria": {34.802075, 38.996815},
|
||
"Tajikistan": {38.861034, 71.276093},
|
||
"Tanzania": {-6.369028, 34.888822},
|
||
"Thailand": {15.870032, 100.992541},
|
||
"Timor-Leste": {-8.874217, 125.727539},
|
||
"Togo": {8.619543, 0.824782},
|
||
"Tonga": {-21.178986, -175.198242},
|
||
"Trinidad and Tobago": {10.691803, -61.222503},
|
||
"Tunisia": {33.886917, 9.537499},
|
||
"Turkey": {38.963745, 35.243322},
|
||
"Turkmenistan": {38.969719, 59.556278},
|
||
"Tuvalu": {-7.109535, 177.64933},
|
||
"Uganda": {1.373333, 32.290275},
|
||
"Ukraine": {48.379433, 31.16558},
|
||
"United Arab Emirates": {23.424076, 53.847818},
|
||
"United Kingdom": {55.378051, -3.435973},
|
||
"United States": {37.09024, -95.712891},
|
||
"Uruguay": {-32.522779, -55.765835},
|
||
"Uzbekistan": {41.377491, 64.585262},
|
||
"Vanuatu": {-15.376706, 166.959158},
|
||
"Vatican City": {41.902916, 12.453389},
|
||
"Venezuela": {6.42375, -66.58973},
|
||
"Vietnam": {14.058324, 108.277199},
|
||
"Yemen": {15.552727, 48.516388},
|
||
"Zambia": {-13.133897, 27.849332},
|
||
"Zimbabwe": {-19.015438, 29.154857},
|
||
}
|
||
|
||
// 国家简称到全称的映射表
|
||
var countryAbbr = map[string]string{
|
||
// ISO 3166-1 alpha-2 codes
|
||
"AD": "Andorra",
|
||
"AE": "United Arab Emirates",
|
||
"AF": "Afghanistan",
|
||
"AG": "Antigua and Barbuda",
|
||
"AI": "Anguilla",
|
||
"AL": "Albania",
|
||
"AM": "Armenia",
|
||
"AO": "Angola",
|
||
"AQ": "Antarctica",
|
||
"AR": "Argentina",
|
||
"AS": "American Samoa",
|
||
"AT": "Austria",
|
||
"AU": "Australia",
|
||
"AW": "Aruba",
|
||
"AX": "Aland Islands",
|
||
"AZ": "Azerbaijan",
|
||
"BA": "Bosnia and Herzegovina",
|
||
"BB": "Barbados",
|
||
"BD": "Bangladesh",
|
||
"BE": "Belgium",
|
||
"BF": "Burkina Faso",
|
||
"BG": "Bulgaria",
|
||
"BH": "Bahrain",
|
||
"BI": "Burundi",
|
||
"BJ": "Benin",
|
||
"BL": "Saint Barthelemy",
|
||
"BM": "Bermuda",
|
||
"BN": "Brunei",
|
||
"BO": "Bolivia",
|
||
"BQ": "Bonaire",
|
||
"BR": "Brazil",
|
||
"BS": "Bahamas",
|
||
"BT": "Bhutan",
|
||
"BV": "Bouvet Island",
|
||
"BW": "Botswana",
|
||
"BY": "Belarus",
|
||
"BZ": "Belize",
|
||
"CA": "Canada",
|
||
"CC": "Cocos Islands",
|
||
"CD": "Congo",
|
||
"CF": "Central African Republic",
|
||
"CG": "Congo",
|
||
"CH": "Switzerland",
|
||
"CI": "Cote D'Ivoire",
|
||
"CK": "Cook Islands",
|
||
"CL": "Chile",
|
||
"CM": "Cameroon",
|
||
"CN": "China",
|
||
"CO": "Colombia",
|
||
"CR": "Costa Rica",
|
||
"CU": "Cuba",
|
||
"CV": "Cabo Verde",
|
||
"CW": "Curacao",
|
||
"CX": "Christmas Island",
|
||
"CY": "Cyprus",
|
||
"CZ": "Czechia",
|
||
"DE": "Germany",
|
||
"DJ": "Djibouti",
|
||
"DK": "Denmark",
|
||
"DM": "Dominica",
|
||
"DO": "Dominican Republic",
|
||
"DZ": "Algeria",
|
||
"EC": "Ecuador",
|
||
"EE": "Estonia",
|
||
"EG": "Egypt",
|
||
"EH": "Western Sahara",
|
||
"ER": "Eritrea",
|
||
"ES": "Spain",
|
||
"ET": "Ethiopia",
|
||
"FI": "Finland",
|
||
"FJ": "Fiji",
|
||
"FK": "Falkland Islands",
|
||
"FM": "Micronesia",
|
||
"FO": "Faroe Islands",
|
||
"FR": "France",
|
||
"GA": "Gabon",
|
||
"GB": "United Kingdom",
|
||
"GD": "Grenada",
|
||
"GE": "Georgia",
|
||
"GF": "French Guiana",
|
||
"GG": "Guernsey",
|
||
"GH": "Ghana",
|
||
"GI": "Gibraltar",
|
||
"GL": "Greenland",
|
||
"GM": "Gambia",
|
||
"GN": "Guinea",
|
||
"GP": "Guadeloupe",
|
||
"GQ": "Equatorial Guinea",
|
||
"GR": "Greece",
|
||
"GS": "South Georgia",
|
||
"GT": "Guatemala",
|
||
"GU": "Guam",
|
||
"GW": "Guinea-Bissau",
|
||
"GY": "Guyana",
|
||
"HK": "Hong Kong",
|
||
"HM": "Heard Island",
|
||
"HN": "Honduras",
|
||
"HR": "Croatia",
|
||
"HT": "Haiti",
|
||
"HU": "Hungary",
|
||
"ID": "Indonesia",
|
||
"IE": "Ireland",
|
||
"IL": "Israel",
|
||
"IM": "Isle of Man",
|
||
"IN": "India",
|
||
"IO": "British Indian Ocean Territory",
|
||
"IQ": "Iraq",
|
||
"IR": "Iran",
|
||
"IS": "Iceland",
|
||
"IT": "Italy",
|
||
"JE": "Jersey",
|
||
"JM": "Jamaica",
|
||
"JO": "Jordan",
|
||
"JP": "Japan",
|
||
"KE": "Kenya",
|
||
"KG": "Kyrgyzstan",
|
||
"KH": "Cambodia",
|
||
"KI": "Kiribati",
|
||
"KM": "Comoros",
|
||
"KN": "Saint Kitts and Nevis",
|
||
"KP": "North Korea",
|
||
"KR": "South Korea",
|
||
"KW": "Kuwait",
|
||
"KY": "Cayman Islands",
|
||
"KZ": "Kazakhstan",
|
||
"LA": "Laos",
|
||
"LB": "Lebanon",
|
||
"LC": "Saint Lucia",
|
||
"LI": "Liechtenstein",
|
||
"LK": "Sri Lanka",
|
||
"LR": "Liberia",
|
||
"LS": "Lesotho",
|
||
"LT": "Lithuania",
|
||
"LU": "Luxembourg",
|
||
"LV": "Latvia",
|
||
"LY": "Libya",
|
||
"MA": "Morocco",
|
||
"MC": "Monaco",
|
||
"MD": "Moldova",
|
||
"ME": "Montenegro",
|
||
"MF": "Saint Martin",
|
||
"MG": "Madagascar",
|
||
"MH": "Marshall Islands",
|
||
"MK": "North Macedonia",
|
||
"ML": "Mali",
|
||
"MM": "Myanmar",
|
||
"MN": "Mongolia",
|
||
"MO": "Macao",
|
||
"MP": "Northern Mariana Islands",
|
||
"MQ": "Martinique",
|
||
"MR": "Mauritania",
|
||
"MS": "Montserrat",
|
||
"MT": "Malta",
|
||
"MU": "Mauritius",
|
||
"MV": "Maldives",
|
||
"MW": "Malawi",
|
||
"MX": "Mexico",
|
||
"MY": "Malaysia",
|
||
"MZ": "Mozambique",
|
||
"NA": "Namibia",
|
||
"NC": "New Caledonia",
|
||
"NE": "Niger",
|
||
"NF": "Norfolk Island",
|
||
"NG": "Nigeria",
|
||
"NI": "Nicaragua",
|
||
"NL": "Netherlands",
|
||
"NO": "Norway",
|
||
"NP": "Nepal",
|
||
"NR": "Nauru",
|
||
"NU": "Niue",
|
||
"NZ": "New Zealand",
|
||
"OM": "Oman",
|
||
"PA": "Panama",
|
||
"PE": "Peru",
|
||
"PF": "French Polynesia",
|
||
"PG": "Papua New Guinea",
|
||
"PH": "Philippines",
|
||
"PK": "Pakistan",
|
||
"PL": "Poland",
|
||
"PM": "Saint Pierre and Miquelon",
|
||
"PN": "Pitcairn",
|
||
"PR": "Puerto Rico",
|
||
"PS": "Palestine",
|
||
"PT": "Portugal",
|
||
"PW": "Palau",
|
||
"PY": "Paraguay",
|
||
"QA": "Qatar",
|
||
"RE": "Reunion",
|
||
"RO": "Romania",
|
||
"RS": "Serbia",
|
||
"RU": "Russia",
|
||
"RW": "Rwanda",
|
||
"SA": "Saudi Arabia",
|
||
"SB": "Solomon Islands",
|
||
"SC": "Seychelles",
|
||
"SD": "Sudan",
|
||
"SE": "Sweden",
|
||
"SG": "Singapore",
|
||
"SH": "Saint Helena",
|
||
"SI": "Slovenia",
|
||
"SJ": "Svalbard and Jan Mayen",
|
||
"SK": "Slovakia",
|
||
"SL": "Sierra Leone",
|
||
"SM": "San Marino",
|
||
"SN": "Senegal",
|
||
"SO": "Somalia",
|
||
"SR": "Suriname",
|
||
"SS": "South Sudan",
|
||
"ST": "Sao Tome and Principe",
|
||
"SV": "El Salvador",
|
||
"SX": "Sint Maarten",
|
||
"SY": "Syria",
|
||
"SZ": "Eswatini",
|
||
"TC": "Turks and Caicos Islands",
|
||
"TD": "Chad",
|
||
"TF": "French Southern Territories",
|
||
"TG": "Togo",
|
||
"TH": "Thailand",
|
||
"TJ": "Tajikistan",
|
||
"TK": "Tokelau",
|
||
"TL": "Timor-Leste",
|
||
"TM": "Turkmenistan",
|
||
"TN": "Tunisia",
|
||
"TO": "Tonga",
|
||
"TR": "Turkey",
|
||
"TT": "Trinidad and Tobago",
|
||
"TV": "Tuvalu",
|
||
"TW": "Taiwan",
|
||
"TZ": "Tanzania",
|
||
"UA": "Ukraine",
|
||
"UG": "Uganda",
|
||
"UM": "United States Minor Outlying Islands",
|
||
"US": "United States",
|
||
"UY": "Uruguay",
|
||
"UZ": "Uzbekistan",
|
||
"VA": "Vatican City",
|
||
"VC": "Saint Vincent and the Grenadines",
|
||
"VE": "Venezuela",
|
||
"VG": "British Virgin Islands",
|
||
"VI": "U.S. Virgin Islands",
|
||
"VN": "Vietnam",
|
||
"VU": "Vanuatu",
|
||
"WF": "Wallis and Futuna",
|
||
"WS": "Samoa",
|
||
"YE": "Yemen",
|
||
"YT": "Mayotte",
|
||
"ZA": "South Africa",
|
||
"ZM": "Zambia",
|
||
"ZW": "Zimbabwe",
|
||
}
|
||
|
||
// 主要城市到国家的映射表
|
||
var cityToCountry = map[string]string{
|
||
// China
|
||
"Beijing": "China", "Shanghai": "China", "Guangzhou": "China", "Shenzhen": "China", "HK": "China", "Tsuen Wan": "China",
|
||
"Chengdu": "China", "Hangzhou": "China", "Wuhan": "China", "Xi'an": "China",
|
||
"Nanjing": "China", "Tianjin": "China", "Chongqing": "China", "Shenyang": "China",
|
||
"Dalian": "China", "Qingdao": "China", "Jinan": "China", "Harbin": "China",
|
||
"Changchun": "China", "Shijiazhuang": "China", "Taiyuan": "China", "Hohhot": "China",
|
||
"Yinchuan": "China", "Lanzhou": "China", "Xining": "China", "Urumqi": "China",
|
||
"Lhasa": "China", "Kunming": "China", "Guiyang": "China", "Nanning": "China",
|
||
"Haikou": "China", "Changsha": "China", "Zhengzhou": "China", "Nanchang": "China",
|
||
"Hefei": "China", "Fuzhou": "China", "Taipei": "China", "Hong Kong": "China", "Macao": "China",
|
||
|
||
// United States
|
||
"New York": "United States", "Chicago": "United States",
|
||
"Houston": "United States", "Phoenix": "United States", "Philadelphia": "United States",
|
||
"San Antonio": "United States", "San Diego": "United States", "Dallas": "United States",
|
||
"San Jose": "United States", "Austin": "United States", "Jacksonville": "United States",
|
||
"Fort Worth": "United States", "Columbus": "United States", "Indianapolis": "United States",
|
||
"Charlotte": "United States", "San Francisco": "United States", "Seattle": "United States",
|
||
"Denver": "United States", "Washington": "United States", "Boston": "United States",
|
||
"El Paso": "United States", "Detroit": "United States", "Nashville": "United States",
|
||
"Portland Oregon": "United States", "Memphis": "United States", "Oklahoma City": "United States",
|
||
"Las Vegas": "United States", "Louisville": "United States", "Baltimore": "United States",
|
||
"Milwaukee": "United States", "Albuquerque": "United States", "Tucson": "United States",
|
||
"Fresno": "United States", "Sacramento": "United States", "Mesa": "United States",
|
||
"Kansas City": "United States", "Atlanta": "United States", "Long Beach": "United States",
|
||
"Colorado Springs": "United States", "Raleigh": "United States", "Miami": "United States",
|
||
"Virginia Beach": "United States", "Omaha": "United States", "Oakland": "United States",
|
||
"Minneapolis": "United States", "Tulsa": "United States", "Arlington": "United States",
|
||
|
||
// Japan
|
||
"Tokyo": "Japan", "Osaka": "Japan", "Yokohama": "Japan", "Nagoya": "Japan",
|
||
"Sapporo": "Japan", "Fukuoka": "Japan", "Kobe": "Japan", "Kawasaki": "Japan",
|
||
"Kyoto": "Japan", "Saitama": "Japan", "Hiroshima": "Japan", "Sendai": "Japan",
|
||
"Kitakyushu": "Japan", "Chiba": "Japan", "Sakai": "Japan", "Niigata": "Japan",
|
||
"Hamamatsu": "Japan", "Okayama": "Japan", "Sagamihara": "Japan", "Kumamoto": "Japan",
|
||
|
||
// United Kingdom
|
||
"London": "United Kingdom", "Birmingham": "United Kingdom", "Manchester": "United Kingdom",
|
||
"Glasgow": "United Kingdom", "Liverpool": "United Kingdom", "Edinburgh": "United Kingdom",
|
||
"Leeds": "United Kingdom", "Sheffield": "United Kingdom", "Bristol": "United Kingdom",
|
||
"Cardiff": "United Kingdom", "Belfast": "United Kingdom", "Leicester": "United Kingdom",
|
||
"Coventry": "United Kingdom", "Bradford": "United Kingdom", "Nottingham": "United Kingdom",
|
||
"Kingston upon Hull": "United Kingdom", "Newcastle upon Tyne": "United Kingdom",
|
||
"Stoke-on-Trent": "United Kingdom", "Southampton": "United Kingdom", "Derby": "United Kingdom",
|
||
|
||
// Germany
|
||
"Berlin": "Germany", "Hamburg": "Germany", "Munich": "Germany", "Cologne": "Germany",
|
||
"Frankfurt": "Germany", "Stuttgart": "Germany", "Düsseldorf": "Germany", "Dortmund": "Germany",
|
||
"Essen": "Germany", "Leipzig": "Germany", "Bremen": "Germany", "Dresden": "Germany",
|
||
"Hanover": "Germany", "Nuremberg": "Germany", "Duisburg": "Germany", "Bochum": "Germany",
|
||
"Wuppertal": "Germany", "Bielefeld": "Germany", "Bonn": "Germany", "Münster": "Germany",
|
||
|
||
// France
|
||
"Paris": "France", "Marseille": "France", "Lyon": "France", "Toulouse": "France",
|
||
"Nice": "France", "Nantes": "France", "Strasbourg": "France", "Montpellier": "France",
|
||
"Bordeaux": "France", "Lille": "France", "Rennes": "France", "Reims": "France",
|
||
"Le Havre": "France", "Saint-Étienne": "France", "Toulon": "France", "Grenoble": "France",
|
||
"Dijon": "France", "Angers": "France", "Nîmes": "France", "Villeurbanne": "France",
|
||
|
||
// Italy
|
||
"Rome": "Italy", "Milan": "Italy", "Naples": "Italy", "Turin": "Italy",
|
||
"Palermo": "Italy", "Genoa": "Italy", "Bologna": "Italy", "Florence": "Italy",
|
||
"Bari": "Italy", "Catania": "Italy", "Venice": "Italy", "Verona": "Italy",
|
||
"Messina": "Italy", "Padua": "Italy", "Trieste": "Italy", "Taranto": "Italy",
|
||
|
||
// Spain
|
||
"Madrid": "Spain", "Seville": "Spain",
|
||
"Zaragoza": "Spain", "Málaga": "Spain", "Murcia": "Spain", "Palma": "Spain",
|
||
"Las Palmas": "Spain", "Bilbao": "Spain", "Alicante": "Spain",
|
||
"Valladolid": "Spain", "Vigo": "Spain", "Gijón": "Spain", "Hospitalet": "Spain",
|
||
"A Coruña": "Spain", "Vitoria-Gasteiz": "Spain", "Granada": "Spain", "Elche": "Spain",
|
||
|
||
// Canada
|
||
"Toronto": "Canada", "Montreal": "Canada", "Vancouver": "Canada", "Calgary": "Canada",
|
||
"Edmonton": "Canada", "Ottawa": "Canada", "Winnipeg": "Canada", "Quebec City": "Canada",
|
||
"Hamilton Canada": "Canada", "Kitchener": "Canada", "London Ontario": "Canada", "Victoria Canada": "Canada",
|
||
"Halifax": "Canada", "Oshawa": "Canada", "Windsor Canada": "Canada", "Saskatoon": "Canada",
|
||
"Regina": "Canada", "St. John's": "Canada", "Kelowna": "Canada", "Barrie": "Canada",
|
||
|
||
// Australia
|
||
"Sydney": "Australia", "Melbourne": "Australia", "Brisbane": "Australia", "Perth": "Australia",
|
||
"Adelaide": "Australia", "Gold Coast": "Australia", "Newcastle Australia": "Australia", "Canberra": "Australia",
|
||
"Sunshine Coast": "Australia", "Wollongong": "Australia", "Hobart": "Australia", "Geelong": "Australia",
|
||
"Townsville": "Australia", "Cairns": "Australia", "Toowoomba": "Australia", "Darwin": "Australia",
|
||
|
||
// India
|
||
"Mumbai": "India", "Delhi": "India", "Bangalore": "India", "Hyderabad": "India",
|
||
"Ahmedabad": "India", "Chennai": "India", "Kolkata": "India", "Surat": "India",
|
||
"Pune": "India", "Jaipur": "India", "Lucknow": "India", "Kanpur": "India",
|
||
"Nagpur": "India", "Indore": "India", "Thane": "India", "Bhopal": "India",
|
||
"Visakhapatnam": "India", "Pimpri": "India", "Patna": "India", "Vadodara": "India",
|
||
"Ludhiana": "India", "Agra": "India", "Nashik": "India", "Faridabad": "India",
|
||
"Meerut": "India", "Rajkot": "India", "Kalyan": "India", "Vasai": "India",
|
||
|
||
// Brazil
|
||
"São Paulo": "Brazil", "Rio de Janeiro": "Brazil", "Brasília": "Brazil", "Salvador": "Brazil",
|
||
"Fortaleza": "Brazil", "Belo Horizonte": "Brazil", "Manaus": "Brazil", "Curitiba": "Brazil",
|
||
"Recife": "Brazil", "Porto Alegre": "Brazil", "Belém": "Brazil", "Goiânia": "Brazil",
|
||
"Guarulhos": "Brazil", "Campinas": "Brazil", "São Luís": "Brazil", "São Gonçalo": "Brazil",
|
||
|
||
// Russia
|
||
"Moscow": "Russia", "Saint Petersburg": "Russia", "Novosibirsk": "Russia", "Yekaterinburg": "Russia",
|
||
"Nizhny Novgorod": "Russia", "Kazan": "Russia", "Chelyabinsk": "Russia", "Omsk": "Russia",
|
||
"Samara": "Russia", "Rostov-on-Don": "Russia", "Ufa": "Russia", "Krasnoyarsk": "Russia",
|
||
"Perm": "Russia", "Voronezh": "Russia", "Volgograd": "Russia", "Krasnodar": "Russia",
|
||
|
||
// South Korea
|
||
"Seoul": "South Korea", "Busan": "South Korea", "Incheon": "South Korea", "Daegu": "South Korea",
|
||
"Daejeon": "South Korea", "Gwangju": "South Korea", "Suwon": "South Korea", "Ulsan": "South Korea",
|
||
"Changwon": "South Korea", "Goyang": "South Korea", "Yongin": "South Korea", "Bucheon": "South Korea",
|
||
|
||
// Mexico
|
||
"Mexico City": "Mexico", "Guadalajara": "Mexico", "Monterrey": "Mexico", "Puebla": "Mexico",
|
||
"Tijuana": "Mexico", "León": "Mexico", "Juárez": "Mexico", "Torreón": "Mexico",
|
||
"Querétaro": "Mexico", "San Luis Potosí": "Mexico", "Mexicali": "Mexico",
|
||
|
||
// Indonesia
|
||
"Jakarta": "Indonesia", "Surabaya": "Indonesia", "Bandung": "Indonesia", "Bekasi": "Indonesia",
|
||
"Medan": "Indonesia", "Tangerang": "Indonesia", "Depok": "Indonesia", "Semarang": "Indonesia",
|
||
"Palembang": "Indonesia", "Makassar": "Indonesia", "Batam": "Indonesia", "Bogor": "Indonesia",
|
||
|
||
// Turkey
|
||
"Istanbul": "Turkey", "Ankara": "Turkey", "Izmir": "Turkey", "Bursa": "Turkey",
|
||
"Adana": "Turkey", "Gaziantep": "Turkey", "Konya": "Turkey", "Antalya": "Turkey",
|
||
"Kayseri": "Turkey", "Mersin": "Turkey", "Eskişehir": "Turkey", "Diyarbakır": "Turkey",
|
||
|
||
// Netherlands
|
||
"Amsterdam": "Netherlands", "Rotterdam": "Netherlands", "The Hague": "Netherlands", "Utrecht": "Netherlands",
|
||
"Eindhoven": "Netherlands", "Tilburg": "Netherlands", "Groningen": "Netherlands", "Almere": "Netherlands",
|
||
"Breda": "Netherlands", "Nijmegen": "Netherlands", "Enschede": "Netherlands", "Haarlem": "Netherlands",
|
||
|
||
// Saudi Arabia
|
||
"Riyadh": "Saudi Arabia", "Jeddah": "Saudi Arabia", "Mecca": "Saudi Arabia", "Medina": "Saudi Arabia",
|
||
"Dammam": "Saudi Arabia", "Khobar": "Saudi Arabia", "Tabuk": "Saudi Arabia", "Buraidah": "Saudi Arabia",
|
||
"Khamis Mushait": "Saudi Arabia", "Hafar Al-Batin": "Saudi Arabia", "Jubail": "Saudi Arabia", "Taif": "Saudi Arabia",
|
||
|
||
// Argentina
|
||
"Buenos Aires": "Argentina", "Rosario": "Argentina", "Mendoza": "Argentina",
|
||
"Tucumán": "Argentina", "La Plata": "Argentina", "Mar del Plata": "Argentina", "Salta": "Argentina",
|
||
"Santa Fe": "Argentina", "San Juan": "Argentina", "Resistencia": "Argentina", "Santiago del Estero": "Argentina",
|
||
|
||
// Poland
|
||
"Warsaw": "Poland", "Kraków": "Poland", "Łódź": "Poland", "Wrocław": "Poland",
|
||
"Poznań": "Poland", "Gdańsk": "Poland", "Szczecin": "Poland", "Bydgoszcz": "Poland",
|
||
"Lublin": "Poland", "Katowice": "Poland", "Białystok": "Poland", "Gdynia": "Poland",
|
||
|
||
// Ukraine
|
||
"Kiev": "Ukraine", "Kharkiv": "Ukraine", "Odessa": "Ukraine", "Dnipro": "Ukraine",
|
||
"Donetsk": "Ukraine", "Zaporizhzhia": "Ukraine", "Lviv": "Ukraine", "Kryvyi Rih": "Ukraine",
|
||
"Mykolaiv": "Ukraine", "Mariupol": "Ukraine", "Luhansk": "Ukraine", "Vinnytsia": "Ukraine",
|
||
|
||
// Egypt
|
||
"Cairo": "Egypt", "Alexandria": "Egypt", "Giza": "Egypt", "Shubra El Kheima": "Egypt",
|
||
"Port Said": "Egypt", "Suez": "Egypt", "Luxor": "Egypt", "Mansoura": "Egypt",
|
||
"El Mahalla El Kubra": "Egypt", "Tanta": "Egypt", "Asyut": "Egypt", "Ismailia": "Egypt",
|
||
|
||
// Nigeria
|
||
"Lagos": "Nigeria", "Kano": "Nigeria", "Ibadan": "Nigeria", "Abuja": "Nigeria",
|
||
"Port Harcourt": "Nigeria", "Benin City": "Nigeria", "Maiduguri": "Nigeria", "Zaria": "Nigeria",
|
||
"Aba": "Nigeria", "Jos": "Nigeria", "Ilorin": "Nigeria", "Oyo": "Nigeria",
|
||
|
||
// South Africa
|
||
"Johannesburg": "South Africa", "Cape Town": "South Africa", "Durban": "South Africa", "Pretoria": "South Africa",
|
||
"Soweto": "South Africa", "Port Elizabeth": "South Africa", "Pietermaritzburg": "South Africa", "Benoni": "South Africa",
|
||
"Tembisa": "South Africa", "East London": "South Africa", "Vereeniging": "South Africa", "Bloemfontein": "South Africa",
|
||
|
||
// Iran
|
||
"Tehran": "Iran", "Mashhad": "Iran", "Isfahan": "Iran", "Karaj": "Iran",
|
||
"Shiraz": "Iran", "Tabriz": "Iran", "Qom": "Iran", "Ahvaz": "Iran",
|
||
"Kermanshah": "Iran", "Urmia": "Iran", "Rasht": "Iran", "Zahedan": "Iran",
|
||
|
||
// Thailand
|
||
"Bangkok": "Thailand", "Nonthaburi": "Thailand", "Pak Kret": "Thailand", "Hat Yai": "Thailand",
|
||
"Chiang Mai": "Thailand", "Phuket": "Thailand", "Pattaya": "Thailand", "Nakhon Ratchasima": "Thailand",
|
||
"Khon Kaen": "Thailand", "Udon Thani": "Thailand", "Surat Thani": "Thailand", "Nakhon Si Thammarat": "Thailand",
|
||
|
||
// Vietnam
|
||
"Ho Chi Minh City": "Vietnam", "Hanoi": "Vietnam", "Haiphong": "Vietnam", "Da Nang": "Vietnam",
|
||
"Bien Hoa": "Vietnam", "Hue": "Vietnam", "Nha Trang": "Vietnam", "Can Tho": "Vietnam",
|
||
"Rach Gia": "Vietnam", "Qui Nhon": "Vietnam", "Vung Tau": "Vietnam", "Nam Dinh": "Vietnam",
|
||
|
||
// Philippines
|
||
"Manila": "Philippines", "Quezon City": "Philippines", "Davao": "Philippines", "Caloocan": "Philippines",
|
||
"Cebu City": "Philippines", "Zamboanga": "Philippines", "Antipolo": "Philippines", "Taguig": "Philippines",
|
||
"Pasig": "Philippines", "Cagayan de Oro": "Philippines", "Paranaque": "Philippines", "Makati": "Philippines",
|
||
|
||
// Malaysia
|
||
"Kuala Lumpur": "Malaysia", "George Town": "Malaysia", "Ipoh": "Malaysia", "Shah Alam": "Malaysia",
|
||
"Petaling Jaya": "Malaysia", "Johor Bahru": "Malaysia", "Seremban": "Malaysia", "Kuching": "Malaysia",
|
||
"Kota Kinabalu": "Malaysia", "Klang": "Malaysia", "Kajang": "Malaysia", "Subang Jaya": "Malaysia",
|
||
|
||
// Bangladesh
|
||
"Dhaka": "Bangladesh", "Chittagong": "Bangladesh", "Sylhet": "Bangladesh", "Khulna": "Bangladesh",
|
||
"Rajshahi": "Bangladesh", "Rangpur": "Bangladesh", "Barisal": "Bangladesh", "Comilla": "Bangladesh",
|
||
"Mymensingh": "Bangladesh", "Narayanganj": "Bangladesh", "Gazipur": "Bangladesh", "Tongi": "Bangladesh",
|
||
|
||
// Pakistan
|
||
"Karachi": "Pakistan", "Lahore": "Pakistan", "Faisalabad": "Pakistan", "Rawalpindi": "Pakistan",
|
||
"Gujranwala": "Pakistan", "Peshawar": "Pakistan", "Multan": "Pakistan", "Islamabad": "Pakistan",
|
||
"Quetta": "Pakistan", "Bahawalpur": "Pakistan", "Sargodha": "Pakistan", "Sialkot": "Pakistan",
|
||
|
||
// Afghanistan
|
||
"Kabul": "Afghanistan", "Kandahar": "Afghanistan", "Herat": "Afghanistan", "Mazar-i-Sharif": "Afghanistan",
|
||
"Jalalabad": "Afghanistan", "Kunduz": "Afghanistan", "Ghazni": "Afghanistan", "Bamyan": "Afghanistan",
|
||
|
||
// Israel
|
||
"Jerusalem": "Israel", "Tel Aviv": "Israel", "Haifa": "Israel", "Rishon LeZion": "Israel",
|
||
"Petah Tikva": "Israel", "Ashdod": "Israel", "Netanya": "Israel", "Beer Sheva": "Israel",
|
||
"Holon": "Israel", "Bnei Brak": "Israel", "Ramat Gan": "Israel", "Ashkelon": "Israel",
|
||
|
||
// Iraq
|
||
"Baghdad": "Iraq", "Basra": "Iraq", "Mosul": "Iraq", "Erbil": "Iraq",
|
||
"Sulaymaniyah": "Iraq", "Najaf": "Iraq", "Karbala": "Iraq", "Nasiriyah": "Iraq",
|
||
"Amarah": "Iraq", "Duhok": "Iraq", "Ramadi": "Iraq", "Fallujah": "Iraq",
|
||
|
||
// Morocco
|
||
"Casablanca": "Morocco", "Rabat": "Morocco", "Fes": "Morocco", "Marrakech": "Morocco",
|
||
"Tangier": "Morocco", "Meknes": "Morocco", "Oujda": "Morocco", "Kenitra": "Morocco",
|
||
"Tetouan": "Morocco", "Safi": "Morocco", "El Jadida": "Morocco", "Nador": "Morocco",
|
||
|
||
// Algeria
|
||
"Algiers": "Algeria", "Oran": "Algeria", "Constantine": "Algeria", "Batna": "Algeria",
|
||
"Djelfa": "Algeria", "Setif": "Algeria", "Annaba": "Algeria", "Sidi Bel Abbes": "Algeria",
|
||
"Biskra": "Algeria", "Tebessa": "Algeria", "El Oued": "Algeria", "Skikda": "Algeria",
|
||
|
||
// Kenya
|
||
"Nairobi": "Kenya", "Mombasa": "Kenya", "Kisumu": "Kenya", "Nakuru": "Kenya",
|
||
"Eldoret": "Kenya", "Kitale": "Kenya", "Malindi": "Kenya", "Garissa": "Kenya",
|
||
"Kakamega": "Kenya", "Nyeri": "Kenya", "Machakos": "Kenya", "Meru": "Kenya",
|
||
|
||
// Ethiopia
|
||
"Addis Ababa": "Ethiopia", "Dire Dawa": "Ethiopia", "Mek'ele": "Ethiopia", "Gondar": "Ethiopia",
|
||
"Adama": "Ethiopia", "Awasa": "Ethiopia", "Bahir Dar": "Ethiopia", "Dessie": "Ethiopia",
|
||
"Jimma": "Ethiopia", "Jijiga": "Ethiopia", "Shashamane": "Ethiopia", "Nekemte": "Ethiopia",
|
||
|
||
// Ghana
|
||
"Accra": "Ghana", "Kumasi": "Ghana", "Tamale": "Ghana", "Sekondi-Takoradi": "Ghana",
|
||
"Ashaiman": "Ghana", "Cape Coast": "Ghana", "Obuasi": "Ghana", "Teshie": "Ghana",
|
||
"Madina": "Ghana", "Koforidua": "Ghana", "Wa": "Ghana", "Techiman": "Ghana",
|
||
|
||
// Chile
|
||
"Santiago": "Chile", "Valparaíso": "Chile", "Concepción": "Chile", "La Serena": "Chile",
|
||
"Antofagasta": "Chile", "Temuco": "Chile", "Rancagua": "Chile", "Talca": "Chile",
|
||
"Arica": "Chile", "Chillán": "Chile", "Iquique": "Chile",
|
||
|
||
// Colombia
|
||
"Bogotá": "Colombia", "Medellín": "Colombia", "Cali": "Colombia", "Barranquilla": "Colombia",
|
||
"Cartagena": "Colombia", "Cúcuta": "Colombia", "Bucaramanga": "Colombia", "Pereira": "Colombia",
|
||
"Santa Marta": "Colombia", "Ibagué": "Colombia", "Pasto": "Colombia", "Manizales": "Colombia",
|
||
|
||
// Peru
|
||
"Lima": "Peru", "Arequipa": "Peru", "Trujillo": "Peru", "Chiclayo": "Peru",
|
||
"Piura": "Peru", "Iquitos": "Peru", "Cusco": "Peru", "Chimbote": "Peru",
|
||
"Huancayo": "Peru", "Tacna": "Peru", "Juliaca": "Peru", "Ica": "Peru",
|
||
|
||
// Venezuela
|
||
"Caracas": "Venezuela", "Maracaibo": "Venezuela", "Barquisimeto": "Venezuela",
|
||
"Maracay": "Venezuela", "Ciudad Guayana": "Venezuela", "San Cristóbal": "Venezuela", "Maturín": "Venezuela",
|
||
"Ciudad Bolívar": "Venezuela", "Cumana": "Venezuela",
|
||
|
||
// Ecuador
|
||
"Guayaquil": "Ecuador", "Quito": "Ecuador", "Cuenca": "Ecuador", "Santo Domingo": "Ecuador",
|
||
"Machala": "Ecuador", "Durán": "Ecuador", "Manta": "Ecuador", "Portoviejo": "Ecuador",
|
||
"Ambato": "Ecuador", "Riobamba": "Ecuador", "Loja": "Ecuador", "Esmeraldas": "Ecuador",
|
||
|
||
// Bolivia
|
||
"Santa Cruz": "Bolivia", "La Paz": "Bolivia", "Cochabamba": "Bolivia", "Oruro": "Bolivia",
|
||
"Sucre": "Bolivia", "Tarija": "Bolivia", "Potosí": "Bolivia", "Trinidad": "Bolivia",
|
||
|
||
// Uruguay
|
||
"Montevideo": "Uruguay", "Salto": "Uruguay", "Paysandú": "Uruguay", "Las Piedras": "Uruguay",
|
||
"Rivera": "Uruguay", "Maldonado": "Uruguay", "Tacuarembó": "Uruguay", "Melo": "Uruguay",
|
||
|
||
// Paraguay
|
||
"Asunción": "Paraguay", "Ciudad del Este": "Paraguay", "San Lorenzo": "Paraguay", "Luque": "Paraguay",
|
||
"Capiatá": "Paraguay", "Lambaré": "Paraguay", "Fernando de la Mora": "Paraguay", "Limpio": "Paraguay",
|
||
|
||
// Norway
|
||
"Oslo": "Norway", "Bergen": "Norway", "Trondheim": "Norway", "Stavanger": "Norway",
|
||
"Bærum": "Norway", "Kristiansand": "Norway", "Fredrikstad": "Norway", "Sandnes": "Norway",
|
||
"Tromsø": "Norway", "Drammen": "Norway", "Asker": "Norway", "Lillestrøm": "Norway",
|
||
|
||
// Sweden
|
||
"Stockholm": "Sweden", "Gothenburg": "Sweden", "Malmö": "Sweden", "Uppsala": "Sweden",
|
||
"Västerås": "Sweden", "Örebro": "Sweden", "Linköping": "Sweden", "Helsingborg": "Sweden",
|
||
"Jönköping": "Sweden", "Norrköping": "Sweden", "Lund": "Sweden", "Umeå": "Sweden",
|
||
|
||
// Finland
|
||
"Helsinki": "Finland", "Espoo": "Finland", "Tampere": "Finland", "Vantaa": "Finland",
|
||
"Oulu": "Finland", "Turku": "Finland", "Jyväskylä": "Finland", "Lahti": "Finland",
|
||
"Kuopio": "Finland", "Pori": "Finland", "Joensuu": "Finland", "Lappeenranta": "Finland",
|
||
|
||
// Denmark
|
||
"Copenhagen": "Denmark", "Aarhus": "Denmark", "Odense": "Denmark", "Aalborg": "Denmark",
|
||
"Esbjerg": "Denmark", "Randers": "Denmark", "Kolding": "Denmark", "Horsens": "Denmark",
|
||
"Vejle": "Denmark", "Roskilde": "Denmark", "Herning": "Denmark", "Silkeborg": "Denmark",
|
||
|
||
// Switzerland
|
||
"Zurich": "Switzerland", "Geneva": "Switzerland", "Basel": "Switzerland", "Bern": "Switzerland",
|
||
"Lausanne": "Switzerland", "Winterthur": "Switzerland", "Lucerne": "Switzerland", "St. Gallen": "Switzerland",
|
||
"Lugano": "Switzerland", "Biel": "Switzerland", "Thun": "Switzerland", "Köniz": "Switzerland",
|
||
|
||
// Austria
|
||
"Innsbruck": "Austria", "Klagenfurt": "Austria", "Villach": "Austria", "Wels": "Austria",
|
||
"Sankt Pölten": "Austria", "Dornbirn": "Austria", "Steyr": "Austria", "Wiener Neustadt": "Austria",
|
||
"Feldkirch": "Austria", "Bregenz": "Austria", "Leonding": "Austria", "Klosterneuburg": "Austria",
|
||
|
||
// Belgium
|
||
"Brussels": "Belgium", "Antwerp": "Belgium", "Ghent": "Belgium", "Charleroi": "Belgium",
|
||
"Liège": "Belgium", "Bruges": "Belgium", "Namur": "Belgium", "Leuven": "Belgium",
|
||
"Mons": "Belgium", "Aalst": "Belgium", "Mechelen": "Belgium", "La Louvière": "Belgium",
|
||
|
||
// Czech Republic (Czechia)
|
||
"Prague": "Czechia", "Brno": "Czechia", "Ostrava": "Czechia", "Plzen": "Czechia",
|
||
"Liberec": "Czechia", "Olomouc": "Czechia", "Budweis": "Czechia", "Hradec Králové": "Czechia",
|
||
"Ústí nad Labem": "Czechia", "Pardubice": "Czechia", "Zlín": "Czechia", "Havířov": "Czechia",
|
||
|
||
// Hungary
|
||
"Budapest": "Hungary", "Debrecen": "Hungary", "Szeged": "Hungary", "Miskolc": "Hungary",
|
||
"Pécs": "Hungary", "Győr": "Hungary", "Nyíregyháza": "Hungary", "Kecskemét": "Hungary",
|
||
"Székesfehérvár": "Hungary", "Szombathely": "Hungary", "Érd": "Hungary", "Tatabánya": "Hungary",
|
||
|
||
// Romania
|
||
"Bucharest": "Romania", "Cluj-Napoca": "Romania", "Timișoara": "Romania", "Iași": "Romania",
|
||
"Constanța": "Romania", "Craiova": "Romania", "Brașov": "Romania", "Galați": "Romania",
|
||
"Ploiești": "Romania", "Oradea": "Romania", "Brăila": "Romania", "Arad": "Romania",
|
||
|
||
// Serbia
|
||
"Belgrade": "Serbia", "Novi Sad": "Serbia", "Niš": "Serbia", "Kragujevac": "Serbia",
|
||
"Subotica": "Serbia", "Zrenjanin": "Serbia", "Pančevo": "Serbia", "Čačak": "Serbia",
|
||
"Novi Pazar": "Serbia", "Kraljevo": "Serbia", "Smederevo": "Serbia", "Leskovac": "Serbia",
|
||
|
||
// Croatia
|
||
"Zagreb": "Croatia", "Split": "Croatia", "Rijeka": "Croatia", "Osijek": "Croatia",
|
||
"Zadar": "Croatia", "Pula": "Croatia", "Slavonski Brod": "Croatia", "Karlovac": "Croatia",
|
||
"Varaždin": "Croatia", "Šibenik": "Croatia", "Sisak": "Croatia", "Velika Gorica": "Croatia",
|
||
|
||
// Greece
|
||
"Athens": "Greece", "Thessaloniki": "Greece", "Patras": "Greece", "Heraklion": "Greece",
|
||
"Larissa": "Greece", "Volos": "Greece", "Rhodes": "Greece", "Ioannina": "Greece",
|
||
"Chania": "Greece", "Chalcis": "Greece", "Serres": "Greece", "Alexandroupoli": "Greece",
|
||
|
||
// Portugal
|
||
"Lisbon": "Portugal", "Porto": "Portugal", "Vila Nova de Gaia": "Portugal", "Amadora": "Portugal",
|
||
"Braga": "Portugal", "Funchal": "Portugal", "Coimbra": "Portugal", "Setúbal": "Portugal",
|
||
"Almada": "Portugal", "Agualva-Cacém": "Portugal", "Queluz": "Portugal", "Rio Tinto": "Portugal",
|
||
|
||
// Bulgaria
|
||
"Sofia": "Bulgaria", "Plovdiv": "Bulgaria", "Varna": "Bulgaria", "Burgas": "Bulgaria",
|
||
"Ruse": "Bulgaria", "Stara Zagora": "Bulgaria", "Pleven": "Bulgaria", "Sliven": "Bulgaria",
|
||
"Dobrich": "Bulgaria", "Shumen": "Bulgaria", "Pernik": "Bulgaria", "Haskovo": "Bulgaria",
|
||
|
||
// Slovakia
|
||
"Bratislava": "Slovakia", "Košice": "Slovakia", "Prešov": "Slovakia", "Žilina": "Slovakia",
|
||
"Banská Bystrica": "Slovakia", "Nitra": "Slovakia", "Trnava": "Slovakia", "Martin": "Slovakia",
|
||
"Trenčín": "Slovakia", "Poprad": "Slovakia", "Prievidza": "Slovakia", "Zvolen": "Slovakia",
|
||
|
||
// Slovenia
|
||
"Ljubljana": "Slovenia", "Maribor": "Slovenia", "Celje": "Slovenia", "Kranj": "Slovenia",
|
||
"Velenje": "Slovenia", "Koper": "Slovenia", "Novo Mesto": "Slovenia", "Ptuj": "Slovenia",
|
||
"Trbovlje": "Slovenia", "Kamnik": "Slovenia", "Jesenice": "Slovenia", "Nova Gorica": "Slovenia",
|
||
|
||
// Lithuania
|
||
"Vilnius": "Lithuania", "Kaunas": "Lithuania", "Klaipėda": "Lithuania", "Šiauliai": "Lithuania",
|
||
"Panevėžys": "Lithuania", "Alytus": "Lithuania", "Marijampolė": "Lithuania", "Mažeikiai": "Lithuania",
|
||
"Jonava": "Lithuania", "Utena": "Lithuania", "Kėdainiai": "Lithuania", "Telšiai": "Lithuania",
|
||
|
||
// Latvia
|
||
"Riga": "Latvia", "Daugavpils": "Latvia", "Liepāja": "Latvia", "Jelgava": "Latvia",
|
||
"Jūrmala": "Latvia", "Ventspils": "Latvia", "Rēzekne": "Latvia", "Valmiera": "Latvia",
|
||
"Jēkabpils": "Latvia", "Ogre": "Latvia", "Tukums": "Latvia", "Salaspils": "Latvia",
|
||
|
||
// Estonia
|
||
"Tallinn": "Estonia", "Tartu": "Estonia", "Narva": "Estonia", "Pärnu": "Estonia",
|
||
"Kohtla-Järve": "Estonia", "Viljandi": "Estonia", "Rakvere": "Estonia", "Maardu": "Estonia",
|
||
"Sillamäe": "Estonia", "Kuressaare": "Estonia", "Võru": "Estonia", "Valga": "Estonia",
|
||
|
||
// New Zealand
|
||
"Auckland": "New Zealand", "Wellington": "New Zealand", "Christchurch": "New Zealand", "Hamilton": "New Zealand",
|
||
"Tauranga": "New Zealand", "Napier-Hastings": "New Zealand", "Dunedin": "New Zealand", "Palmerston North": "New Zealand",
|
||
"Nelson": "New Zealand", "Rotorua": "New Zealand", "New Plymouth": "New Zealand", "Whangarei": "New Zealand",
|
||
|
||
// Singapore
|
||
"Singapore": "Singapore",
|
||
|
||
// United Arab Emirates
|
||
"Dubai": "United Arab Emirates", "Abu Dhabi": "United Arab Emirates", "Sharjah": "United Arab Emirates", "Al Ain": "United Arab Emirates",
|
||
"Ajman": "United Arab Emirates", "Ras Al Khaimah": "United Arab Emirates", "Fujairah": "United Arab Emirates", "Umm Al Quwain": "United Arab Emirates",
|
||
|
||
// Lebanon
|
||
"Beirut": "Lebanon", "Sidon": "Lebanon", "Tyre": "Lebanon",
|
||
"Nabatieh": "Lebanon", "Jounieh": "Lebanon", "Zahle": "Lebanon", "Baalbek": "Lebanon",
|
||
|
||
// Jordan
|
||
"Amman": "Jordan", "Zarqa": "Jordan", "Irbid": "Jordan", "Russeifa": "Jordan",
|
||
"Wadi as-Sir": "Jordan", "Aqaba": "Jordan", "Madaba": "Jordan", "Salt": "Jordan",
|
||
|
||
// Yemen
|
||
"Sanaa": "Yemen", "Aden": "Yemen", "Taiz": "Yemen", "Hodeidah": "Yemen",
|
||
"Mukalla": "Yemen", "Ibb": "Yemen", "Dhamar": "Yemen", "Zinjibar": "Yemen",
|
||
|
||
// Syria
|
||
"Damascus": "Syria", "Aleppo": "Syria", "Homs": "Syria", "Latakia": "Syria",
|
||
"Hama": "Syria", "Raqqa": "Syria", "Deir ez-Zor": "Syria", "Hasakah": "Syria",
|
||
|
||
// Oman
|
||
"Muscat": "Oman", "Seeb": "Oman", "Salalah": "Oman", "Bawshar": "Oman",
|
||
"Sohar": "Oman", "Sur": "Oman", "Ibra": "Oman", "Nizwa": "Oman",
|
||
|
||
// Qatar
|
||
"Doha": "Qatar", "Al Rayyan": "Qatar", "Umm Salal": "Qatar", "Al Wakrah": "Qatar",
|
||
"Al Khor": "Qatar", "Dukhan": "Qatar", "Lusail": "Qatar", "Mesaieed": "Qatar",
|
||
|
||
// Kuwait
|
||
"Kuwait City": "Kuwait", "Al Ahmadi": "Kuwait", "Hawally": "Kuwait", "As Salimiyah": "Kuwait",
|
||
"Sabah as-Salim": "Kuwait", "Al Farwaniyah": "Kuwait", "Al Fahahil": "Kuwait", "Ar Riqqah": "Kuwait",
|
||
|
||
// Bahrain
|
||
"Manama": "Bahrain", "Riffa": "Bahrain", "Muharraq": "Bahrain", "Hamad Town": "Bahrain",
|
||
"A'ali": "Bahrain", "Isa Town": "Bahrain", "Sitra": "Bahrain", "Budaiya": "Bahrain",
|
||
|
||
// Cyprus
|
||
"Nicosia": "Cyprus", "Limassol": "Cyprus", "Larnaca": "Cyprus", "Famagusta": "Cyprus",
|
||
"Paphos": "Cyprus", "Kyrenia": "Cyprus", "Protaras": "Cyprus", "Paralimni": "Cyprus",
|
||
|
||
// Malta
|
||
"Valletta": "Malta", "Birkirkara": "Malta", "Mosta": "Malta", "Qormi": "Malta",
|
||
"Zabbar": "Malta", "San Pawl il-Bahar": "Malta", "Tarxien": "Malta", "Naxxar": "Malta",
|
||
|
||
// Iceland
|
||
"Reykjavik": "Iceland", "Kopavogur": "Iceland", "Hafnarfjordur": "Iceland", "Akureyri": "Iceland",
|
||
"Reykjanesbaer": "Iceland", "Gardabaer": "Iceland", "Mosfellsbaer": "Iceland", "Arborg": "Iceland",
|
||
|
||
// Luxembourg
|
||
"Luxembourg City": "Luxembourg", "Esch-sur-Alzette": "Luxembourg", "Dudelange": "Luxembourg", "Schifflange": "Luxembourg",
|
||
"Bettembourg": "Luxembourg", "Petange": "Luxembourg", "Ettelbruck": "Luxembourg", "Diekirch": "Luxembourg",
|
||
|
||
// Belarus
|
||
"Minsk": "Belarus", "Gomel": "Belarus", "Mogilev": "Belarus", "Vitebsk": "Belarus",
|
||
"Grodno": "Belarus", "Brest": "Belarus", "Bobruisk": "Belarus", "Baranovichi": "Belarus",
|
||
|
||
// Moldova
|
||
"Chisinau": "Moldova", "Tiraspol": "Moldova", "Balti": "Moldova", "Bender": "Moldova",
|
||
"Rybnitsa": "Moldova", "Cahul": "Moldova", "Ungheni": "Moldova", "Soroca": "Moldova",
|
||
|
||
// North Macedonia
|
||
"Skopje": "North Macedonia", "Bitola": "North Macedonia", "Kumanovo": "North Macedonia", "Prilep": "North Macedonia",
|
||
"Tetovo": "North Macedonia", "Veles": "North Macedonia", "Shtip": "North Macedonia", "Ohrid": "North Macedonia",
|
||
|
||
// Albania
|
||
"Tirana": "Albania", "Durres": "Albania", "Vlore": "Albania", "Elbasan": "Albania",
|
||
"Shkoder": "Albania", "Fier": "Albania", "Korce": "Albania", "Berat": "Albania",
|
||
|
||
// Montenegro
|
||
"Podgorica": "Montenegro", "Niksic": "Montenegro", "Pljevlja": "Montenegro", "Bijelo Polje": "Montenegro",
|
||
"Cetinje": "Montenegro", "Bar": "Montenegro", "Herceg Novi": "Montenegro", "Berane": "Montenegro",
|
||
|
||
// Bosnia and Herzegovina
|
||
"Sarajevo": "Bosnia and Herzegovina", "Banja Luka": "Bosnia and Herzegovina", "Tuzla": "Bosnia and Herzegovina", "Zenica": "Bosnia and Herzegovina",
|
||
"Mostar": "Bosnia and Herzegovina", "Prijedor": "Bosnia and Herzegovina", "Brčko": "Bosnia and Herzegovina", "Bijeljina": "Bosnia and Herzegovina",
|
||
|
||
// Armenia
|
||
"Yerevan": "Armenia", "Gyumri": "Armenia", "Vanadzor": "Armenia", "Vagharshapat": "Armenia",
|
||
"Hrazdan": "Armenia", "Abovyan": "Armenia", "Kapan": "Armenia", "Armavir": "Armenia",
|
||
|
||
// Georgia
|
||
"Tbilisi": "Georgia", "Kutaisi": "Georgia", "Batumi": "Georgia", "Rustavi": "Georgia",
|
||
"Gori": "Georgia", "Zugdidi": "Georgia", "Poti": "Georgia", "Kobuleti": "Georgia",
|
||
|
||
// Azerbaijan
|
||
"Baku": "Azerbaijan", "Ganja": "Azerbaijan", "Sumqayit": "Azerbaijan", "Mingachevir": "Azerbaijan",
|
||
"Quba": "Azerbaijan", "Lankaran": "Azerbaijan", "Shaki": "Azerbaijan", "Yevlax": "Azerbaijan",
|
||
|
||
// Kazakhstan
|
||
"Almaty": "Kazakhstan", "Nur-Sultan": "Kazakhstan", "Shymkent": "Kazakhstan", "Aktobe": "Kazakhstan",
|
||
"Taraz": "Kazakhstan", "Pavlodar": "Kazakhstan", "Ust-Kamenogorsk": "Kazakhstan", "Semey": "Kazakhstan",
|
||
"Atyrau": "Kazakhstan", "Kostanay": "Kazakhstan", "Kyzylorda": "Kazakhstan", "Oral": "Kazakhstan",
|
||
|
||
// Uzbekistan
|
||
"Tashkent": "Uzbekistan", "Namangan": "Uzbekistan", "Samarkand": "Uzbekistan", "Andijan": "Uzbekistan",
|
||
"Nukus": "Uzbekistan", "Fergana": "Uzbekistan", "Bukhara": "Uzbekistan", "Qarshi": "Uzbekistan",
|
||
"Kokand": "Uzbekistan", "Margilan": "Uzbekistan", "Chirchiq": "Uzbekistan", "Termez": "Uzbekistan",
|
||
|
||
// Kyrgyzstan
|
||
"Bishkek": "Kyrgyzstan", "Osh": "Kyrgyzstan", "Jalal-Abad": "Kyrgyzstan", "Karakol": "Kyrgyzstan",
|
||
"Tokmok": "Kyrgyzstan", "Uzgen": "Kyrgyzstan", "Naryn": "Kyrgyzstan", "Talas": "Kyrgyzstan",
|
||
|
||
// Tajikistan
|
||
"Dushanbe": "Tajikistan", "Khujand": "Tajikistan", "Kulob": "Tajikistan", "Qurghonteppa": "Tajikistan",
|
||
"Istaravshan": "Tajikistan", "Isfara": "Tajikistan", "Panjakent": "Tajikistan", "Tursunzoda": "Tajikistan",
|
||
|
||
// Turkmenistan
|
||
"Ashgabat": "Turkmenistan", "Turkmenbashi": "Turkmenistan", "Dasoguz": "Turkmenistan", "Mary": "Turkmenistan",
|
||
"Balkanabat": "Turkmenistan", "Bayramaly": "Turkmenistan", "Tejen": "Turkmenistan", "Serdar": "Turkmenistan",
|
||
|
||
// Mongolia
|
||
"Ulaanbaatar": "Mongolia", "Erdenet": "Mongolia", "Darkhan": "Mongolia", "Choibalsan": "Mongolia",
|
||
"Murun": "Mongolia", "Bayankhongor": "Mongolia", "Ulgii": "Mongolia", "Khovd": "Mongolia",
|
||
|
||
// Myanmar
|
||
"Yangon": "Myanmar", "Mandalay": "Myanmar", "Naypyidaw": "Myanmar", "Mawlamyine": "Myanmar",
|
||
"Bago": "Myanmar", "Pathein": "Myanmar", "Monywa": "Myanmar", "Meiktila": "Myanmar",
|
||
"Sittwe": "Myanmar", "Myitkyina": "Myanmar", "Dawei": "Myanmar", "Pyay": "Myanmar",
|
||
|
||
// Laos
|
||
"Vientiane": "Laos", "Pakse": "Laos", "Savannakhet": "Laos", "Luang Prabang": "Laos",
|
||
"Thakhek": "Laos", "Muang Xay": "Laos", "Phonsavan": "Laos", "Muang Pakbeng": "Laos",
|
||
|
||
// Cambodia
|
||
"Phnom Penh": "Cambodia", "Siem Reap": "Cambodia", "Battambang": "Cambodia", "Sihanoukville": "Cambodia",
|
||
"Poipet": "Cambodia", "Kampong Cham": "Cambodia", "Pursat": "Cambodia", "Kampong Speu": "Cambodia",
|
||
|
||
// Sri Lanka
|
||
"Colombo": "Sri Lanka", "Dehiwala-Mount Lavinia": "Sri Lanka", "Moratuwa": "Sri Lanka", "Negombo": "Sri Lanka",
|
||
"Kandy": "Sri Lanka", "Kalmunai": "Sri Lanka", "Galle": "Sri Lanka", "Trincomalee": "Sri Lanka",
|
||
"Batticaloa": "Sri Lanka", "Jaffna": "Sri Lanka", "Katunayake": "Sri Lanka", "Dambulla": "Sri Lanka",
|
||
|
||
// Nepal
|
||
"Kathmandu": "Nepal", "Pokhara": "Nepal", "Lalitpur": "Nepal", "Bharatpur": "Nepal",
|
||
"Biratnagar": "Nepal", "Birgunj": "Nepal", "Dharan": "Nepal", "Bhim Datta": "Nepal",
|
||
"Butwal": "Nepal", "Hetauda": "Nepal", "Dhangadhi": "Nepal", "Itahari": "Nepal",
|
||
|
||
// Bhutan
|
||
"Thimphu": "Bhutan", "Phuntsholing": "Bhutan", "Punakha": "Bhutan", "Wangdue": "Bhutan",
|
||
"Samdrup Jongkhar": "Bhutan", "Gelephu": "Bhutan", "Trongsa": "Bhutan", "Mongar": "Bhutan",
|
||
|
||
// Maldives
|
||
"Male": "Maldives", "Addu City": "Maldives", "Fuvahmulah": "Maldives", "Kulhudhuffushi": "Maldives",
|
||
"Thinadhoo": "Maldives", "Ungoofaaru": "Maldives", "Naifaru": "Maldives", "Dhidhdhoo": "Maldives",
|
||
|
||
// Madagascar
|
||
"Antananarivo": "Madagascar", "Toamasina": "Madagascar", "Antsirabe": "Madagascar", "Fianarantsoa": "Madagascar",
|
||
"Mahajanga": "Madagascar", "Toliara": "Madagascar", "Antsiranana": "Madagascar", "Ambovombe": "Madagascar",
|
||
"Morondava": "Madagascar", "Sambava": "Madagascar", "Manakara": "Madagascar", "Farafangana": "Madagascar",
|
||
|
||
// Mauritius
|
||
"Port Louis": "Mauritius", "Beau Bassin-Rose Hill": "Mauritius", "Vacoas-Phoenix": "Mauritius", "Curepipe": "Mauritius",
|
||
"Quatre Bornes": "Mauritius", "Triolet": "Mauritius", "Goodlands": "Mauritius", "Centre de Flacq": "Mauritius",
|
||
|
||
// Seychelles
|
||
"Victoria": "Seychelles", "Anse Boileau": "Seychelles", "Beau Vallon": "Seychelles", "Cascade": "Seychelles",
|
||
"Anse Royale": "Seychelles", "Takamaka": "Seychelles", "Port Glaud": "Seychelles", "Grand Anse Mahe": "Seychelles",
|
||
|
||
// Comoros
|
||
"Moroni": "Comoros", "Mutsamudu": "Comoros", "Fomboni": "Comoros", "Domoni": "Comoros",
|
||
"Sima": "Comoros", "Mitsoudje": "Comoros", "Adda-Doueni": "Comoros", "Ouani": "Comoros",
|
||
|
||
// Djibouti
|
||
"Djibouti City": "Djibouti", "Ali Sabieh": "Djibouti", "Dikhil": "Djibouti", "Tadjoura": "Djibouti",
|
||
"Obock": "Djibouti", "Arta": "Djibouti", "Holhol": "Djibouti", "Yoboki": "Djibouti",
|
||
|
||
// Eritrea
|
||
"Asmara": "Eritrea", "Assab": "Eritrea", "Massawa": "Eritrea", "Keren": "Eritrea",
|
||
"Mendefera": "Eritrea", "Barentu": "Eritrea", "Adi Keih": "Eritrea", "Adi Quala": "Eritrea",
|
||
|
||
// Somalia
|
||
"Mogadishu": "Somalia", "Hargeisa": "Somalia", "Bosaso": "Somalia", "Kismayo": "Somalia",
|
||
"Merca": "Somalia", "Galcayo": "Somalia", "Berbera": "Somalia", "Baidoa": "Somalia",
|
||
"Garowe": "Somalia", "Jowhar": "Somalia", "Borama": "Somalia", "Las Anod": "Somalia",
|
||
|
||
// Sudan
|
||
"Khartoum": "Sudan", "Omdurman": "Sudan", "Port Sudan": "Sudan", "Kassala": "Sudan",
|
||
"Obeid": "Sudan", "Nyala": "Sudan", "Gedaref": "Sudan", "Wad Medani": "Sudan",
|
||
"El Fasher": "Sudan", "Kosti": "Sudan", "Sennar": "Sudan", "Dongola": "Sudan",
|
||
|
||
// South Sudan
|
||
"Juba": "South Sudan", "Malakal": "South Sudan", "Wau": "South Sudan", "Bentiu": "South Sudan",
|
||
"Yei": "South Sudan", "Aweil": "South Sudan", "Kuacjok": "South Sudan", "Bor": "South Sudan",
|
||
|
||
// Chad
|
||
"N'Djamena": "Chad", "Moundou": "Chad", "Sarh": "Chad", "Abéché": "Chad",
|
||
"Kelo": "Chad", "Koumra": "Chad", "Pala": "Chad", "Am Timan": "Chad",
|
||
|
||
// Central African Republic
|
||
"Bangui": "Central African Republic", "Bimbo": "Central African Republic", "Berbérati": "Central African Republic", "Carnot": "Central African Republic",
|
||
"Bambari": "Central African Republic", "Bouar": "Central African Republic", "Bossangoa": "Central African Republic", "Bria": "Central African Republic",
|
||
|
||
// Democratic Republic of Congo
|
||
"Kinshasa": "Congo", "Lubumbashi": "Congo", "Mbuji-Mayi": "Congo", "Kisangani": "Congo",
|
||
"Masina": "Congo", "Kananga": "Congo", "Likasi": "Congo", "Kolwezi": "Congo",
|
||
"Tshikapa": "Congo", "Beni": "Congo", "Bukavu": "Congo", "Mwene-Ditu": "Congo",
|
||
|
||
// Republic of Congo
|
||
"Brazzaville": "Congo", "Pointe-Noire": "Congo", "Dolisie": "Congo", "Nkayi": "Congo",
|
||
"Impfondo": "Congo", "Ouesso": "Congo", "Madingou": "Congo", "Owando": "Congo",
|
||
|
||
// Gabon
|
||
"Libreville": "Gabon", "Port-Gentil": "Gabon", "Franceville": "Gabon", "Oyem": "Gabon",
|
||
"Moanda": "Gabon", "Mouila": "Gabon", "Lambaréné": "Gabon", "Tchibanga": "Gabon",
|
||
|
||
// Equatorial Guinea
|
||
"Malabo": "Equatorial Guinea", "Bata": "Equatorial Guinea", "Ebebiyin": "Equatorial Guinea", "Aconibe": "Equatorial Guinea",
|
||
"Añisoc": "Equatorial Guinea", "Luba": "Equatorial Guinea", "Evinayong": "Equatorial Guinea", "Mengomeyén": "Equatorial Guinea",
|
||
|
||
// Cameroon
|
||
"Yaoundé": "Cameroon", "Douala": "Cameroon", "Bamenda": "Cameroon", "Bafoussam": "Cameroon",
|
||
"Garoua": "Cameroon", "Maroua": "Cameroon", "Nkongsamba": "Cameroon", "Bertoua": "Cameroon",
|
||
"Edéa": "Cameroon", "Loum": "Cameroon", "Kumba": "Cameroon", "Foumban": "Cameroon",
|
||
|
||
// Angola
|
||
"Luanda": "Angola", "Huambo": "Angola", "Lobito": "Angola", "Benguela": "Angola",
|
||
"Kuito": "Angola", "Lubango": "Angola", "Malanje": "Angola", "Namibe": "Angola",
|
||
"Soyo": "Angola", "Cabinda": "Angola", "Uíge": "Angola", "Saurimo": "Angola",
|
||
|
||
// Zambia
|
||
"Lusaka": "Zambia", "Kitwe": "Zambia", "Ndola": "Zambia", "Kabwe": "Zambia",
|
||
"Chingola": "Zambia", "Mufulira": "Zambia", "Livingstone": "Zambia", "Luanshya": "Zambia",
|
||
"Kasama": "Zambia", "Chipata": "Zambia", "Mazabuka": "Zambia", "Mongu": "Zambia",
|
||
|
||
// Zimbabwe
|
||
"Harare": "Zimbabwe", "Bulawayo": "Zimbabwe", "Chitungwiza": "Zimbabwe", "Mutare": "Zimbabwe",
|
||
// Namibia
|
||
"Windhoek": "Namibia", "Rundu": "Namibia", "Walvis Bay": "Namibia", "Oshakati": "Namibia",
|
||
"Swakopmund": "Namibia", "Katima Mulilo": "Namibia", "Grootfontein": "Namibia", "Rehoboth": "Namibia",
|
||
"Otjiwarongo": "Namibia", "Okahandja": "Namibia", "Ondangwa": "Namibia", "Outapi": "Namibia",
|
||
"Conakry": "Guinea", "Nzérékoré": "Guinea", "Kankan": "Guinea", "Kindia": "Guinea",
|
||
// Botswana
|
||
"Gaborone": "Botswana", "Francistown": "Botswana", "Molepolole": "Botswana", "Maun": "Botswana",
|
||
"Serowe": "Botswana", "Selibe Phikwe": "Botswana", "Kanye": "Botswana", "Mochudi": "Botswana",
|
||
"Mahalapye": "Botswana", "Palapye": "Botswana", "Lobatse": "Botswana", "Kasane": "Botswana",
|
||
// Guinea-Bissau (补充缺失)
|
||
// Lesotho
|
||
"Maseru": "Lesotho", "Teyateyaneng": "Lesotho", "Mafeteng": "Lesotho", "Hlotse": "Lesotho",
|
||
"Mohale's Hoek": "Lesotho", "Maputsoe": "Lesotho", "Qacha's Nek": "Lesotho", "Quthing": "Lesotho",
|
||
"Freetown": "Sierra Leone", "Bo": "Sierra Leone", "Kenema": "Sierra Leone", "Koidu": "Sierra Leone",
|
||
// Eswatini (Swaziland)
|
||
"Mbabane": "Eswatini", "Manzini": "Eswatini", "Big Bend": "Eswatini", "Malkerns": "Eswatini",
|
||
"Nhlangano": "Eswatini", "Siteki": "Eswatini", "Pigg's Peak": "Eswatini", "Lobamba": "Eswatini",
|
||
"Monrovia": "Liberia", "Gbarnga": "Liberia", "Kakata": "Liberia", "Bensonville": "Liberia",
|
||
// Malawi
|
||
"Lilongwe": "Malawi", "Blantyre": "Malawi", "Mzuzu": "Malawi", "Zomba": "Malawi",
|
||
"Kasungu": "Malawi", "Mangochi": "Malawi", "Karonga": "Malawi", "Salima": "Malawi",
|
||
"Liwonde": "Malawi", "Nkhotakota": "Malawi", "Chiradzulu": "Malawi", "Nsanje": "Malawi",
|
||
"Abidjan": "Cote D'Ivoire", "Bouaké": "Cote D'Ivoire", "Daloa": "Cote D'Ivoire", "Yamoussoukro": "Cote D'Ivoire",
|
||
// Mozambique
|
||
"Maputo": "Mozambique", "Matola": "Mozambique", "Beira": "Mozambique", "Nampula": "Mozambique",
|
||
"Chimoio": "Mozambique", "Nacala": "Mozambique", "Quelimane": "Mozambique", "Tete": "Mozambique",
|
||
"Xai-Xai": "Mozambique", "Maxixe": "Mozambique", "Inhambane": "Mozambique", "Pemba": "Mozambique",
|
||
"Lomé": "Togo", "Sokodé": "Togo", "Kara": "Togo", "Palimé": "Togo",
|
||
// Tanzania
|
||
"Dar es Salaam": "Tanzania", "Mwanza": "Tanzania", "Arusha": "Tanzania", "Dodoma": "Tanzania",
|
||
"Mbeya": "Tanzania", "Morogoro": "Tanzania", "Tanga": "Tanzania", "Kahama": "Tanzania",
|
||
"Tabora": "Tanzania", "Zanzibar City": "Tanzania", "Kigoma": "Tanzania", "Sumbawanga": "Tanzania",
|
||
"Cotonou": "Benin", "Porto-Novo": "Benin", "Parakou": "Benin", "Djougou": "Benin",
|
||
// Rwanda
|
||
"Kigali": "Rwanda", "Butare": "Rwanda", "Gitarama": "Rwanda", "Ruhengeri": "Rwanda",
|
||
"Gisenyi": "Rwanda", "Byumba": "Rwanda", "Cyangugu": "Rwanda", "Kibuye": "Rwanda",
|
||
"Banjul": "Gambia", "Serekunda": "Gambia", "Brikama": "Gambia", "Bakau": "Gambia",
|
||
// Burundi
|
||
"Gitega": "Burundi", "Bujumbura": "Burundi", "Muyinga": "Burundi", "Ruyigi": "Burundi",
|
||
"Ngozi": "Burundi", "Rutana": "Burundi", "Kayanza": "Burundi", "Makamba": "Burundi",
|
||
"Nouakchott": "Mauritania", "Nouadhibou": "Mauritania", "Néma": "Mauritania", "Kaédi": "Mauritania",
|
||
// Uganda
|
||
"Kampala": "Uganda", "Gulu": "Uganda", "Lira": "Uganda", "Mbarara": "Uganda",
|
||
"Jinja": "Uganda", "Bwizibwera": "Uganda", "Mbale": "Uganda", "Mukono": "Uganda",
|
||
"Kasese": "Uganda", "Masaka": "Uganda", "Entebbe": "Uganda", "Njeru": "Uganda",
|
||
// Cabo Verde (补充缺失)
|
||
// Tunisia
|
||
"Tunis": "Tunisia", "Sfax": "Tunisia", "Sousse": "Tunisia", "Ettadhamen": "Tunisia",
|
||
"Kairouan": "Tunisia", "Bizerte": "Tunisia", "Gabès": "Tunisia", "Aryanah": "Tunisia",
|
||
"Gafsa": "Tunisia", "El Mourouj": "Tunisia", "Kasserine": "Tunisia", "Ben Arous": "Tunisia",
|
||
// São Tomé and Príncipe (补充缺失)
|
||
// Libya
|
||
"Benghazi": "Libya", "Misrata": "Libya", "Tarhuna": "Libya",
|
||
"Al Bayda": "Libya", "Zawiya": "Libya", "Zuwara": "Libya", "Ajdabiya": "Libya",
|
||
"Tobruk": "Libya", "Sabha": "Libya", "Sirte": "Libya", "Marj": "Libya",
|
||
"Dublin": "Ireland", "Cork": "Ireland", "Limerick": "Ireland", "Galway": "Ireland",
|
||
"Waterford": "Ireland", "Drogheda": "Ireland", "Dundalk": "Ireland", "Swords": "Ireland",
|
||
"Bray": "Ireland", "Navan": "Ireland", "Ennis": "Ireland", "Kilkenny": "Ireland",
|
||
|
||
// More countries and cities can be added here...
|
||
}
|
||
|
||
// GetCountryCenterByCountryOrCity 根据国家名称或城市名称获取国家中心经纬度
|
||
// countryOrAbbr: 国家名称(全称或简称)
|
||
// city: 城市名称
|
||
// 返回: 纬度, 经度, 是否找到
|
||
func GetCountryCenterByCountryOrCity(countryOrAbbr, city string) (lat, lon string, found bool) {
|
||
// 1. 首先尝试国家简称转全称(大小写不敏感)
|
||
countryOrAbbr = strings.TrimSpace(countryOrAbbr)
|
||
if countryOrAbbr != "" {
|
||
// 尝试作为简称查找
|
||
if fullName, ok := countryAbbr[strings.ToUpper(countryOrAbbr)]; ok {
|
||
countryOrAbbr = fullName
|
||
}
|
||
// 2. 直接查找国家中心点(大小写不敏感)
|
||
for country, center := range countryCenter {
|
||
if strings.EqualFold(country, countryOrAbbr) {
|
||
return fmt.Sprintf("%f", center[0]), fmt.Sprintf("%f", center[1]), true
|
||
}
|
||
}
|
||
}
|
||
|
||
// 3. 通过城市查找国家(大小写不敏感)
|
||
city = strings.TrimSpace(city)
|
||
if city != "" {
|
||
for cityName, country := range cityToCountry {
|
||
if strings.EqualFold(cityName, city) {
|
||
if center, ok := countryCenter[country]; ok {
|
||
return fmt.Sprintf("%f", center[0]), fmt.Sprintf("%f", center[1]), true
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return "", "", false
|
||
}
|
||
|
||
// GetCountryCenter 根据国家名称获取中心经纬度(兼容旧接口)
|
||
func GetCountryCenter(countryName string) (lat, lon string, found bool) {
|
||
return GetCountryCenterByCountryOrCity(countryName, "")
|
||
}
|
||
|
||
// GetCountryCenterByCity 根据城市名称获取所在国家的中心经纬度
|
||
func GetCountryCenterByCity(cityName string) (lat, lon string, found bool) {
|
||
return GetCountryCenterByCountryOrCity("", cityName)
|
||
}
|