我找到了这个对象: http://pamelafox-samplecode.googlecode.com/svn/trunk/petition_world/geodata.py
我想到用谷歌地图上的shor_country描述解析它。
那么我如何在jquery中使用shordescription来获取continentname,例如“SE”?
我尝试了很多for循环的组合:
var length = 0;
for (var contin in continents) {
console.log(contin);
length++;
}
console.log(length);
var cont = "";
for (var a = 0; a < length; a++) {
var contLength = 0;
console.log(continents[a]);
for (var countr in continents[a].countries) {
contLength++;
}
console.log(contLength);
for (var i = 0; i < contLength; i++) {
if (continents[a].countries[i] == shortCountry) {
cont = continents[a].name;
console.log(cont);
}
}
}
但它确实不起作用。
对象::
continents = {
"AF": {
"name": "Africa",
"center": [1.054628,29.53125],
"countries": [
"DZ",
"AO",
"BJ",
"BW",
"BF",
"BI",
"CM",
"CV",
"CF",
"TD",
"KM",
"CD",
"CG",
"CI",
"DJ",
"EG",
"GQ",
"ER",
"ET",
"GA",
"GM",
"GH",
"GN",
"GW",
"KE",
"LS",
"LR",
"LY",
"MG",
"MW",
"ML",
"MR",
"MU",
"YT",
"MA",
"MZ",
"NA",
"NE",
"NG",
"RE",
"RW",
"SH",
"ST",
"SN",
"SC",
"SL",
"SO",
"ZA",
"SD",
"SZ",
"TZ",
"TG",
"TN",
"UG",
"EH",
"ZM",
"ZW"
]
},
"AS": {
"name": "Asia",
"center": [30.448674,125.15625],
"countries": [
"AF",
"AM",
"AZ",
"BH",
"BD",
"BT",
"IO",
"BN",
"KH",
"CN",
"CX",
"CC",
"CY",
"GE",
"HK",
"IN",
"ID",
"IR",
"IQ",
"IL",
"JP",
"JO",
"KZ",
"KP",
"KR",
"KW",
"KG",
"LA",
"LB",
"MO",
"MY",
"MV",
"MN",
"MM",
"NP",
"OM",
"PK",
"PS",
"PH",
"QA",
"SA",
"SG",
"LK",
"SY",
"TW",
"TH",
"TL",
"TR",
"TM",
"AE",
"UZ",
"VN",
"YE"
]
},
"EU": {
"name": "Europe",
"center": [45.521744,21.972656],
"countries": [
"AX",
"AL",
"AD",
"AT",
"BY",
"BE",
"BA",
"BG",
"HR",
"CZ",
"DK",
"EE",
"FO",
"FI",
"FR",
"DE",
"GI",
"GR",
"GG",
"VA",
"HU",
"IS",
"IE",
"IM",
"IT",
"JE",
"LV",
"LI",
"LT",
"LU",
"MK",
"MT",
"MD",
"MC",
"ME",
"NL",
"NO",
"PL",
"PT",
"RO",
"RU",
"SM",
"RS",
"SK",
"SI",
"ES",
"SJ",
"SE",
"CH",
"UA",
"GB"
]
},
"NA": {
"name": "North America",
"center": [47.694974,-94.042969],
"countries": [
"AI",
"AG",
"AW",
"BS",
"BB",
"BZ",
"BM",
"VG",
"CA",
"KY",
"CR",
"CU",
"DM",
"DO",
"SV",
"GL",
"GD",
"GP",
"GT",
"HT",
"HN",
"JM",
"MQ",
"MX",
"MS",
"AN",
"NI",
"PA",
"PR",
"BL",
"KN",
"LC",
"MF",
"PM",
"VC",
"TT",
"TC",
"US",
"VI"
]
},
"SA": {
"name": "South America",
"center": [-4.039618,-65.039062],
"countries": [
"AR",
"BO",
"BR",
"CL",
"CO",
"EC",
"FK",
"GF",
"GY",
"PY",
"PE",
"SR",
"UY",
"VE"
]
},
"OC": {
"name": "Oceania",
"center": [-8.05923,142.734375],
"countries": [
"AS ",
"AU",
"CK",
"FJ",
"PF",
"GU",
"KI",
"MH",
"FM",
"NR",
"NC",
"NZ",
"NU",
"NF",
"MP",
"PW",
"PG",
"PN",
"WS",
"SB",
"TK",
"TO",
"TV",
"UM",
"VU",
"WF"
]
},
"AN": {
"name": "Antarctica",
"center": [-78.836065,39.375],
"countries": [
"AQ",
"BV",
"TF",
"HM",
"GS"
]
},
}
答案 0 :(得分:3)
试试这个:
function getContinent(country){
for(continent in continents){
if(continents[continent].countries.indexOf(country) > -1){
return continent;
}
}
}