hdalab/js/geojson_quickconv.js
changeset 110 6455b65fa3b7
child 115 46c0f7a935d1
--- /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;
+    });
+}