diff -r 3371a40449c7 -r 6455b65fa3b7 hdalab/js/geojson_quickconv.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hdalab/js/geojson_quickconv.js Fri Jan 13 17:03:49 2012 +0100 @@ -0,0 +1,141 @@ +gomNs.countryLabels = { + "AFG" :"Afghanistan", + "AGO" :"Angola", + "ALB" :"Albanie", + "ARG" :"Argentine", + "ARM" :"Arménie", + "ATA" :"Antarctique", + "AUS" :"Australie", + "AUT" :"Autriche", + "AZE" :"Azerbaïdjan", + "BDI" :"Burundi", + "BEL" :"Belgique", + "BEN" :"Bénin", + "BGR" :"Bulgarie", + "BIH" :"Bosnie-Herzégovine", + "BOL" :"Bolivie", + "BRA" :"Brésil", + "BRN" :"Brunei", + "CAF" :"République centrafricaine", + "CAN" :"Canada", + "CHE" :"Suisse", + "CHL" :"Chili", + "CHN" :"Chine", + "CIV" :"Côte d'Ivoire", + "CMR" :"Cameroun", + "COD" :"République démocratique du Congo", + "CZE" :"République tchèque", + "DEU" :"Allemagne", + "DNK" :"Danemark", + "DZA" :"Algérie", + "EGY" :"Égypte", + "ESP" :"Espagne", + "EST" :"Estonie", + "ETH" :"Éthiopie", + "FIN" :"Finlande", + "FRA" :"France", + "GAB" :"Gabon", + "GBR" :"Royaume-Uni", + "GHA" :"Ghana", + "GRC" :"Grèce", + "HTI" :"Haïti", + "HUN" :"Hongrie", + "IDN" :"Indonésie", + "IND" :"Inde", + "IRL" :"Irlande", + "IRN" :"Iran", + "ISL" :"Islande", + "ISR" :"Israël", + "ITA" :"Italie", + "JAM" :"Jamaïque", + "JPN" :"Japon", + "KAZ" :"Kazakhstan", + "KGZ" :"Kirghizistan", + "KHM" :"Cambodge", + "LBN" :"Liban", + "LTU" :"Lituanie", + "LVA" :"Lettonie", + "MAR" :"Maroc", + "MDA" :"Moldavie", + "MEX" :"Mexique", + "MLI" :"Mali", + "MMR" :"Birmanie", + "MNG" :"Mongolie", + "MOZ" :"Mozambique", + "NCL" :"Nouvelle-Calédonie", + "NER" :"Niger", + "NGA" :"Nigeria", + "NLD" :"Pays-Bas", + "NOR" :"Norvège", + "NPL" :"Népal", + "NZL" :"Nouvelle-Zélande", + "PAK" :"Pakistan", + "PHL" :"Philippines", + "PNG" :"Papouasie-Nouvelle-Guinée", + "POL" :"Pologne", + "PRT" :"Portugal", + "PSE" :"Palestine", + "ROU" :"Roumanie", + "RUS" :"Russie", + "SDN" :"Soudan", + "SEN" :"Sénégal", + "SLV" :"Salvador", + "SVK" :"Slovaquie", + "SVN" :"Slovénie", + "SWE" :"Suède", + "SYR" :"Syrie", + "TCD" :"Tchad", + "THA" :"Thaïlande", + "TJK" :"Tadjikistan", + "TTO" :"Trinité-et-Tobago", + "TUN" :"Tunisie", + "TUR" :"Turquie", + "UGA" :"Ouganda", + "UKR" :"Ukraine", + "USA" :"États-Unis", + "UZB" :"Ouzbékistan", + "VNM" :"Viêt Nam", + "ZAF" :"Afrique du Sud", +} + +function polygon_to_gmap(polycoords, label) { + var _opts = { + strokeColor: "#000000", + strokeWeight: .5, + fillColor: "#000080", + fillOpacity: .8, + } + _opts.paths = polycoords.map(function(path) { + return path.map(function(coord) { + return new google.maps.LatLng(coord[1], coord[0]); + }); + }); + var _polygon = new google.maps.Polygon(_opts); + _polygon.setMap(gomNs.map); + google.maps.event.addListener(_polygon, 'click', function(a,b) { + tagInfo(label); + }) + return _polygon; +} + +function showCountries(geoJson) { + gomNs.countries = {}; + _(geoJson.features).each(function(feature) { + var _el = { "label" : gomNs.countryLabels[feature.id] }; + if (feature.id == 'ATA') { + _el.gPolygons = []; + } else { + switch(feature.geometry.type) { + case('Polygon'): + _el.gPolygons = [ polygon_to_gmap(feature.geometry.coordinates, _el.label) ]; + break; + case('MultiPolygon'): + _el.gPolygons = feature.geometry.coordinates.map(function(polygon) { + return polygon_to_gmap(polygon, _el.label); + }) + break; + } + } + gomNs.countries[feature.id] = _el; + }); +}