diff --git a/build/js/ox.map.js b/build/js/ox.map.js index 5f35c36b..065c4ad9 100644 --- a/build/js/ox.map.js +++ b/build/js/ox.map.js @@ -14,16 +14,16 @@ Ox.COUNTRIES = [ {code: 'DZ', continent: 'Africa', name: 'Algeria', region: 'Northern Africa', type: 'sovereign'}, {code: 'AD', continent: 'Europe', name: 'Andorra', region: 'Southern Europe', type: 'sovereign'}, {code: 'AO', continent: 'Africa', name: 'Angola', region: 'Middle Africa', type: 'sovereign'}, - {code: 'AG', continent: 'North America', name: 'Antigua and Barbuda', region: 'Carribean', type: 'sovereign'}, + {code: 'AG', continent: 'North America', name: 'Antigua and Barbuda', region: 'Caribbean', type: 'sovereign'}, {code: 'AR', continent: 'South America', name: 'Argentina', type: 'sovereign'}, {code: 'AM', continent: 'Asia', name: 'Armenia', region: 'Western Asia', type: 'sovereign'}, {code: 'AU', continent: 'Oceania', name: 'Australia', region: 'Australia and New Zealand', type: 'sovereign'}, {code: 'AT', continent: 'Europe', name: 'Austria', region: 'Western Europe', type: 'sovereign'}, {code: 'AZ', continent: 'Asia', name: 'Azerbaijan', region: 'Western Asia', type: 'sovereign'}, - {code: 'BS', continent: 'North America', name: 'Bahamas', region: 'Carribean', type: 'sovereign'}, + {code: 'BS', continent: 'North America', name: 'Bahamas', region: 'Caribbean', type: 'sovereign'}, {code: 'BH', continent: 'Asia', name: 'Bahrain', region: 'Western Asia', type: 'sovereign'}, {code: 'BD', continent: 'Asia', name: 'Bangladesh', region: 'Southern Asia', type: 'sovereign'}, - {code: 'BB', continent: 'North America', name: 'Barbados', region: 'Carribean', type: 'sovereign'}, + {code: 'BB', continent: 'North America', name: 'Barbados', region: 'Caribbean', type: 'sovereign'}, {code: 'BY', continent: 'Europe', name: 'Belarus', region: 'Eastern Europe', type: 'sovereign'}, {code: 'BE', continent: 'Europe', name: 'Belgium', region: 'Western Europe', type: 'sovereign'}, {code: 'BZ', continent: 'North America', name: 'Belize', region: 'Central America', type: 'sovereign'}, @@ -50,14 +50,14 @@ Ox.COUNTRIES = [ {code: 'CR', continent: 'North America', name: 'Costa Rica', region: 'Central America', type: 'sovereign'}, {code: 'CI', continent: 'Africa', name: 'Côte d\'Ivoire', region: 'Western Africa', type: 'sovereign'}, {code: 'HR', continent: 'Europe', name: 'Croatia', region: 'Southern Europe', type: 'sovereign'}, - {code: 'CU', continent: 'North America', name: 'Cuba', region: 'Carribean', type: 'sovereign'}, + {code: 'CU', continent: 'North America', name: 'Cuba', region: 'Caribbean', type: 'sovereign'}, {code: 'CY', continent: 'Asia', name: 'Cyprus', region: 'Western Asia', type: 'sovereign'}, {code: 'CZ', continent: 'Europe', name: 'Czech Republic', region: 'Eastern Europe', type: 'sovereign'}, {code: 'CD', continent: 'Africa', name: 'Democratic Republic of the Congo', region: 'Middle Africa', type: 'sovereign'}, {code: 'DK', continent: 'Europe', name: 'Denmark', region: 'Northern Europe', type: 'sovereign'}, {code: 'DJ', continent: 'Africa', name: 'Djibouti', region: 'Eastern Africa', type: 'sovereign'}, - {code: 'DM', continent: 'North America', name: 'Dominica', region: 'Carribean', type: 'sovereign'}, - {code: 'DO', continent: 'North America', name: 'Dominican Republic', region: 'Carribean', type: 'sovereign'}, + {code: 'DM', continent: 'North America', name: 'Dominica', region: 'Caribbean', type: 'sovereign'}, + {code: 'DO', continent: 'North America', name: 'Dominican Republic', region: 'Caribbean', type: 'sovereign'}, {code: 'EC', continent: 'South America', name: 'Ecuador', type: 'sovereign'}, {code: 'EG', continent: 'Africa', name: 'Egypt', region: 'Northern Africa', type: 'sovereign'}, {code: 'SV', continent: 'North America', name: 'El Salvador', region: 'Central America', type: 'sovereign'}, @@ -74,12 +74,12 @@ Ox.COUNTRIES = [ {code: 'DE', continent: 'Europe', name: 'Germany', region: 'Western Europe', type: 'sovereign'}, {code: 'GH', continent: 'Africa', name: 'Ghana', region: 'Western Africa', type: 'sovereign'}, {code: 'GR', continent: 'Europe', name: 'Greece', region: 'Southern Europe', type: 'sovereign'}, - {code: 'GD', continent: 'North America', name: 'Grenada', region: 'Carribean', type: 'sovereign'}, + {code: 'GD', continent: 'North America', name: 'Grenada', region: 'Caribbean', type: 'sovereign'}, {code: 'GT', continent: 'North America', name: 'Guatemala', region: 'Central America', type: 'sovereign'}, {code: 'GN', continent: 'Africa', name: 'Guinea', region: 'Western Africa', type: 'sovereign'}, {code: 'GW', continent: 'Africa', name: 'Guinea-Bissau', region: 'Western Africa', type: 'sovereign'}, {code: 'GY', continent: 'South America', name: 'Guyana', type: 'sovereign'}, - {code: 'HT', continent: 'North America', name: 'Haiti', region: 'Carribean', type: 'sovereign'}, + {code: 'HT', continent: 'North America', name: 'Haiti', region: 'Caribbean', type: 'sovereign'}, {code: 'VA', continent: 'Europe', name: 'Holy See', region: 'Southern Europe', type: 'sovereign'}, {code: 'HN', continent: 'North America', name: 'Honduras', region: 'Central America', type: 'sovereign'}, {code: 'HU', continent: 'Europe', name: 'Hungary', region: 'Eastern Europe', type: 'sovereign'}, @@ -91,7 +91,7 @@ Ox.COUNTRIES = [ {code: 'IE', continent: 'Europe', name: 'Ireland', region: 'Northern Europe', type: 'sovereign'}, {code: 'IL', continent: 'Asia', name: 'Israel', region: 'Western Asia', type: 'sovereign'}, {code: 'IT', continent: 'Europe', name: 'Italy', region: 'Southern Europe', type: 'sovereign'}, - {code: 'JM', continent: 'North America', name: 'Jamaica', region: 'Carribean', type: 'sovereign'}, + {code: 'JM', continent: 'North America', name: 'Jamaica', region: 'Caribbean', type: 'sovereign'}, {code: 'JP', continent: 'Asia', name: 'Japan', region: 'Eastern Asia', type: 'sovereign'}, {code: 'JO', continent: 'Asia', name: 'Jordan', region: 'Western Asia', type: 'sovereign'}, {code: 'KZ', continent: 'Asia', name: 'Kazakhstan', region: 'Central Asia', type: 'sovereign'}, @@ -152,9 +152,9 @@ Ox.COUNTRIES = [ {code: 'RO', continent: 'Europe', name: 'Romania', region: 'Eastern Europe', type: 'sovereign'}, {code: 'RU', continent: 'Europe', name: 'Russia', region: 'Eastern Europe', type: 'sovereign'}, {code: 'RW', continent: 'Africa', name: 'Rwanda', region: 'Eastern Africa', type: 'sovereign'}, - {code: 'KN', continent: 'North America', name: 'Saint Kitts and Nevis', region: 'Carribean', type: 'sovereign'}, - {code: 'LC', continent: 'North America', name: 'Saint Lucia', region: 'Carribean', type: 'sovereign'}, - {code: 'VC', continent: 'North America', name: 'Saint Vincent and the Grenadines', region: 'Carribean', type: 'sovereign'}, + {code: 'KN', continent: 'North America', name: 'Saint Kitts and Nevis', region: 'Caribbean', type: 'sovereign'}, + {code: 'LC', continent: 'North America', name: 'Saint Lucia', region: 'Caribbean', type: 'sovereign'}, + {code: 'VC', continent: 'North America', name: 'Saint Vincent and the Grenadines', region: 'Caribbean', type: 'sovereign'}, {code: 'WS', continent: 'Oceania', name: 'Samoa', region: 'Polynesia', type: 'sovereign'}, {code: 'SM', continent: 'Europe', name: 'San Marino', region: 'Southern Europe', type: 'sovereign'}, {code: 'ST', continent: 'Africa', name: 'São Tomé and Príncipe', region: 'Middle Africa', type: 'sovereign'}, @@ -184,7 +184,7 @@ Ox.COUNTRIES = [ {code: 'TL', continent: 'Asia', name: 'Timor-Leste', region: 'South-Eastern Asia', type: 'sovereign'}, {code: 'TG', continent: 'Africa', name: 'Togo', region: 'Western Africa', type: 'sovereign'}, {code: 'TO', continent: 'Oceania', name: 'Tonga', region: 'Polynesia', type: 'sovereign'}, - {code: 'TT', continent: 'North America', name: 'Trinidad and Tobago', region: 'Carribean', type: 'sovereign'}, + {code: 'TT', continent: 'North America', name: 'Trinidad and Tobago', region: 'Caribbean', type: 'sovereign'}, {code: 'TN', continent: 'Africa', name: 'Tunisia', region: 'Northern Africa', type: 'sovereign'}, {code: 'TR', continent: 'Asia', name: 'Turkey', region: 'Western Asia', type: 'sovereign'}, {code: 'TM', continent: 'Asia', name: 'Turkmenistan', region: 'Central Asia', type: 'sovereign'}, @@ -229,19 +229,19 @@ Ox.COUNTRIES = [ {code: 'GF', continent: 'South America', country: 'France', name: 'French Guiana', type: 'dependent'}, {code: 'PF', continent: 'Oceania', country: 'France', name: 'French Polynesia', region: 'Polynesia', type: 'dependent'}, {code: 'TF', country: 'France', name: 'French Southern Territories', type: 'dependent'}, - {code: 'GP', continent: 'North America', country: 'France', name: 'Guadeloupe', region: 'Carribean', type: 'dependent'}, - {code: 'MQ', continent: 'North America', country: 'France', name: 'Martinique', region: 'Carribean', type: 'dependent'}, + {code: 'GP', continent: 'North America', country: 'France', name: 'Guadeloupe', region: 'Caribbean', type: 'dependent'}, + {code: 'MQ', continent: 'North America', country: 'France', name: 'Martinique', region: 'Caribbean', type: 'dependent'}, {code: 'YT', continent: 'Africa', country: 'France', name: 'Mayotte', region: 'Eastern Africa', type: 'dependent'}, {code: 'NC', continent: 'Oceania', country: 'France', name: 'New Caledonia', region: 'Melanesia', type: 'dependent'}, {code: 'RE', continent: 'Africa', country: 'France', name: 'Réunion', region: 'Eastern Africa', type: 'dependent', flag: 'png'}, - {code: 'BL', continent: 'North America', country: 'France', name: 'Saint Barthélemy', region: 'Carribean', type: 'dependent'}, - {code: 'MF', continent: 'North America', country: 'France', name: 'Saint Martin', region: 'Carribean', type: 'dependent'}, + {code: 'BL', continent: 'North America', country: 'France', name: 'Saint Barthélemy', region: 'Caribbean', type: 'dependent'}, + {code: 'MF', continent: 'North America', country: 'France', name: 'Saint Martin', region: 'Caribbean', type: 'dependent'}, {code: 'PM', continent: 'North America', country: 'France', name: 'Saint Pierre and Miquelon', region: 'Northern America', type: 'dependent'}, {code: 'WF', continent: 'Oceania', country: 'France', name: 'Wallis and Futuna', region: 'Polynesia', type: 'dependent'}, - {code: 'AW', continent: 'North America', country: 'Netherlands', name: 'Aruba', region: 'Carribean', type: 'dependent'}, - {code: 'BQ', continent: 'North America', country: 'Netherlands', name: 'Bonaire, Saint Eustatius and Saba', region: 'Carribean', type: 'dependent'}, - {code: 'CW', continent: 'North America', country: 'Netherlands', name: 'Curaçao', region: 'Carribean', type: 'dependent'}, - {code: 'SX', continent: 'North America', country: 'Netherlands', name: 'Sint Maarten', region: 'Carribean', type: 'dependent'}, + {code: 'AW', continent: 'North America', country: 'Netherlands', name: 'Aruba', region: 'Caribbean', type: 'dependent'}, + {code: 'BQ', continent: 'North America', country: 'Netherlands', name: 'Bonaire, Saint Eustatius and Saba', region: 'Caribbean', type: 'dependent'}, + {code: 'CW', continent: 'North America', country: 'Netherlands', name: 'Curaçao', region: 'Caribbean', type: 'dependent'}, + {code: 'SX', continent: 'North America', country: 'Netherlands', name: 'Sint Maarten', region: 'Caribbean', type: 'dependent'}, {code: 'CK', continent: 'Oceania', country: 'New Zealand', name: 'Cook Islands', region: 'Polynesia', type: 'dependent'}, {code: 'NU', continent: 'Oceania', country: 'New Zealand', name: 'Niue', region: 'Polynesia', type: 'dependent'}, {code: 'TK', continent: 'Oceania', country: 'New Zealand', name: 'Tokelau', region: 'Polynesia', type: 'dependent'}, @@ -249,12 +249,12 @@ Ox.COUNTRIES = [ {code: 'SJ', continent: 'Europe', country: 'Norway', name: 'Svalbard and Jan Mayen', region: 'Northern Europe', type: 'dependent'}, {code: 'IC', continent: 'Africa', country: 'Spain', name: 'Canary Islands', region: 'Northern Africa', type: 'dependent'}, {code: 'EA', continent: 'Africa', country: 'Spain', name: 'Ceuta and Melilla', region: 'Northern Africa', type: 'dependent'}, - {code: 'AI', continent: 'North America', country: 'United Kingdom', name: 'Anguilla', region: 'Carribean', type: 'dependent'}, + {code: 'AI', continent: 'North America', country: 'United Kingdom', name: 'Anguilla', region: 'Caribbean', type: 'dependent'}, {code: 'AC', continent: 'Africa', country: 'United Kingdom', name: 'Ascension', region: 'Western Africa', type: 'dependent'}, {code: 'BM', continent: 'North America', country: 'United Kingdom', name: 'Bermuda', region: 'Northern America', type: 'dependent'}, {code: 'IO', country: 'United Kingdom', name: 'British Indian Ocean Territory', type: 'dependent'}, - {code: 'VG', continent: 'North America', country: 'United Kingdom', name: 'British Virgin Islands', region: 'Carribean', type: 'dependent'}, - {code: 'KY', continent: 'North America', country: 'United Kingdom', name: 'Cayman Islands', region: 'Carribean', type: 'dependent'}, + {code: 'VG', continent: 'North America', country: 'United Kingdom', name: 'British Virgin Islands', region: 'Caribbean', type: 'dependent'}, + {code: 'KY', continent: 'North America', country: 'United Kingdom', name: 'Cayman Islands', region: 'Caribbean', type: 'dependent'}, {code: 'DG', country: 'United Kingdom', name: 'Diego Garcia', type: 'dependent'}, {code: 'GB-ENG', continent: 'Europe', country: 'United Kingdom', name: 'England', region: 'Northern Europe', type: 'dependent'}, {code: 'FK', continent: 'South America', country: 'United Kingdom', name: 'Falkland Islands', type: 'dependent'}, @@ -262,21 +262,21 @@ Ox.COUNTRIES = [ {code: 'GG', continent: 'Europe', country: 'United Kingdom', name: 'Guernsey', region: 'Northern Europe', type: 'dependent'}, {code: 'IM', continent: 'Europe', country: 'United Kingdom', name: 'Isle of Man', region: 'Northern Europe', type: 'dependent'}, {code: 'JE', continent: 'Europe', country: 'United Kingdom', name: 'Jersey', region: 'Northern Europe', type: 'dependent'}, - {code: 'MS', continent: 'North America', country: 'United Kingdom', name: 'Montserrat', region: 'Carribean', type: 'dependent'}, + {code: 'MS', continent: 'North America', country: 'United Kingdom', name: 'Montserrat', region: 'Caribbean', type: 'dependent'}, {code: 'GB-NIR', continent: 'Europe', country: 'United Kingdom', name: 'Northern Ireland', region: 'Northern Europe', type: 'dependent'}, {code: 'PN', continent: 'Oceania', country: 'United Kingdom', name: 'Pitcairn', region: 'Polynesia', type: 'dependent'}, {code: 'SH', continent: 'Africa', country: 'United Kingdom', name: 'Saint Helena', region: 'Western Africa', type: 'dependent'}, {code: 'GB-SCT', continent: 'Europe', country: 'United Kingdom', name: 'Scotland', region: 'Northern Europe', type: 'dependent'}, {code: 'GS', continent: 'South America', country: 'United Kingdom', name: 'South Georgia and the South Sandwich Islands', type: 'dependent'}, {code: 'TA', continent: 'Africa', country: 'United Kingdom', name: 'Tristan da Cunha', region: 'Western Africa', type: 'dependent'}, - {code: 'TC', continent: 'Oceania', country: 'United Kingdom', name: 'Turks and Caicos Islands', region: 'Carribean', type: 'dependent'}, + {code: 'TC', continent: 'Oceania', country: 'United Kingdom', name: 'Turks and Caicos Islands', region: 'Caribbean', type: 'dependent'}, {code: 'GB-WLS', continent: 'Europe', country: 'United Kingdom', name: 'Wales', region: 'Northern Europe', type: 'dependent'}, {code: 'AS', continent: 'Oceania', country: 'United States', name: 'American Samoa', region: 'Polynesia', type: 'dependent'}, {code: 'GU', continent: 'Oceania', country: 'United States', name: 'Guam', region: 'Micronesia', type: 'dependent'}, {code: 'MP', continent: 'Oceania', country: 'United States', name: 'Northern Mariana Islands', region: 'Micronesia', type: 'dependent'}, - {code: 'PR', continent: 'North America', country: 'United States', name: 'Puerto Rico', region: 'Carribean', type: 'dependent'}, + {code: 'PR', continent: 'North America', country: 'United States', name: 'Puerto Rico', region: 'Caribbean', type: 'dependent'}, {code: 'UM', country: 'United States', name: 'United States Minor Outlying Islands', type: 'dependent'}, - {code: 'VI', continent: 'North America', country: 'United States', name: 'United States Virgin Islands', region: 'Carribean', type: 'dependent'}, + {code: 'VI', continent: 'North America', country: 'United States', name: 'United States Virgin Islands', region: 'Caribbean', type: 'dependent'}, {code: 'BUMM', continent: 'Asia', name: 'Burma', region: 'South-Eastern Asia', type: 'former'}, {code: 'BYAA', continent: 'Europe', name: 'Byelorussian Soviet Socialist Republic', region: 'Eastern Europe', type: 'former'}, {code: 'CTKI', continent: 'Oceania', name: 'Canton and Enderbury Islands', region: 'Micronesia', type: 'former'}, @@ -302,7 +302,7 @@ Ox.COUNTRIES = [ {code: 'FQHH', continent: 'Antarctica', country: 'France', name: 'French Southern and Antarctic Territories', type: 'former'}, {code: 'FXFR', continent: 'Europe', country: 'France', name: 'Metropolitan France', type: 'former'}, {code: 'NHVU', country: ['France', 'United Kingdom'], name: 'New Hebrides', region: 'Melanesia', type: 'former'}, - {code: 'ANHH', continent: 'North America', country: 'Netherlands', name: 'Netherlands Antilles', region: 'Carribean', type: 'former'}, + {code: 'ANHH', continent: 'North America', country: 'Netherlands', name: 'Netherlands Antilles', region: 'Caribbean', type: 'former'}, {code: 'NQAQ', continent: 'Antarctica', country: 'Norway', name: 'Dronning Maud Land', type: 'former'}, {code: 'BQAQ', continent: 'Antarctica', country: 'United Kingdom', name: 'British Antarctic Territory', type: 'former'}, {code: 'JTUM', continent: 'Oceania', country: 'United States', name: 'Johnston Island', region: 'Mictonesia', type: 'former'}, diff --git a/build/js/ox.ui.js b/build/js/ox.ui.js index dae9c3ad..e0be86ee 100644 --- a/build/js/ox.ui.js +++ b/build/js/ox.ui.js @@ -9208,13 +9208,9 @@ requires Ox.print('PLACES', places) self.$map = new Ox.Map({ clickable: true, + editable: true, height: self.options.height, - // fixme: place can still be string, and maybe shouldn't be array at all - places: places.map(function(place) { - return Ox.extend({}, place, { - name: place.name.length == 0 ? '' : place.name[0] - }); - }), + places: places, statusbar: true, toolbar: true, width: self.mapResize[1], @@ -9429,7 +9425,7 @@ requires .appendTo(that); self.$labelsButton = new Ox.Button({ title: 'Show Labels', - width: 80 + width: 96 }) .css({float: 'left', margin: '4px'}) .bindEvent({ @@ -9470,19 +9466,19 @@ requires .appendTo(that); self.$placeNameInput = new Ox.Input({ placeholder: 'Name', - width: Math.floor((self.options.width - 96) / 2) + width: Math.floor((self.options.width - 112) / 2) }) .css({float: 'left', margin: '2px'}) .appendTo(self.$statusbar); self.$placeGeonameInput = new Ox.Input({ placeholder: 'Geoname', - width: Math.ceil((self.options.width - 96) / 2) + width: Math.ceil((self.options.width - 112) / 2) }) .css({float: 'left', margin: '2px'}) .appendTo(self.$statusbar) self.$placeButton = new Ox.Button({ title: 'New Place', - width: 80 + width: 96 }) .css({float: 'left', margin: '2px'}) .bindEvent({ @@ -9550,37 +9546,54 @@ requires initMap(); } - function addNewPlace() { - var bounds = self.map.getBounds(), - center = self.map.getCenter(), - southwest = new google.maps.LatLngBounds( - bounds.getSouthWest(), center - ).getCenter(), - northeast = new google.maps.LatLngBounds( - center, bounds.getNorthEast() - ).getCenter(), - place = new Place({ - countryCode: '', - geoname: '', - id: '_' + Ox.uid(), // fixme: stupid - name: '', - south: southwest.lat(), - west: southwest.lng(), - north: northeast.lat(), - east: northeast.lng() - }); - addPlace(place); - selectPlace(place.name); - } - - function addPlace(place) { - Ox.print('addPlace', place) + function addPlaceToMap(place) { + if (!place) { + var bounds = self.map.getBounds(), + center = self.map.getCenter(), + southwest = new google.maps.LatLngBounds( + bounds.getSouthWest(), center + ).getCenter(), + northeast = new google.maps.LatLngBounds( + center, bounds.getNorthEast() + ).getCenter(), + place = new Ox.MapPlace({ + countryCode: '', + editable: true, + geoname: '', + id: '_' + Ox.uid(), // fixme: stupid + lat: center.lat(), + lng: center.lng(), + map: that, + name: '', + south: southwest.lat(), + west: southwest.lng(), + north: northeast.lat(), + east: northeast.lng() + }); + } + Ox.print('addPlaceToMap', place) Ox.print('self.resultPlace', self.resultPlace) self.resultPlace && self.resultPlace.remove(); - if (place.id[0] == '_') { - self.resultPlace = place; - } + self.resultPlace = place; place.add(); + selectPlace(place.id); + } + + function addPlaceToPlaces() { + var place = getSelectedPlace(); + if (self.options.selected == place.id) { + self.options.selected = place.id.substr(1); + self.selected = self.options.selected; + } + place.id = place.id.substr(1); // fixme: NOT SAFE! + place.name = self.$placeNameInput.value(); + place.geoname = self.$placeGeonameInput.value(); + place.countryCode = Ox.getCountryCode(place.geoname); + place.marker.update(); + self.places.push(place); + self.resultPlace = null; + that.triggerEvent('addplace', place) + Ox.print('SSSS', self.options.selected) } function boundsChanged() { @@ -9610,7 +9623,7 @@ requires if (self.options.clickable/* && !editing()*/) { getPlaceByLatLng(event.latLng, self.map.getBounds(), function(place) { if (place) { - addPlace(place); + addPlaceToMap(place); selectPlace(place.id); } }); @@ -9618,22 +9631,14 @@ requires } function clickPlaceButton() { - if (self.$placeButton.options('title') == 'New Place') { - addNewPlace(); - } else { - var place = getSelectedPlace(), - data = { - place: {} - }; - data.place.name = self.$placeNameInput.value(); - data.place.geoname = self.$placeGeonameInput.value(); - data.place.countryCode = Ox.getCountryCode(data.place.geoname); - [ - 'lat', 'lng', 'south', 'west', 'north', 'east', 'size' - ].forEach(function(key) { - data.place[key] = place[key]; - }); - that.triggerEvent('addplace', data) + var place = getSelectedPlace(), + title = self.$placeButton.options('title'); + if (title == 'New Place') { + addPlaceToMap(); + } else if (title == 'Add Place') { + addPlaceToPlaces(); + } else if (title == 'Remove Place') { + } } @@ -9658,7 +9663,21 @@ requires } function editing() { - return self.selected && getSelectedPlace().editing; + var place = getSelectedPlace(); + return place && place.editing; + } + + function getElevation(point, callback) { + // fixme: unused + if (arguments.length == 1) { + callback = point; + point = self.map.getCenter(); + } + self.elevationService.getElevationForLocations({ + locations: [point] + }, function(data) { + callback(data.elevation); + }); } function getMapHeight() { @@ -9678,7 +9697,7 @@ requires point = self.map.getCenter(); } self.maxZoomService.getMaxZoomAtLatLng(point, function(data) { - callback(data.status == 'OK' ? data.zoom : -1); + callback(data.status == 'OK' ? data.zoom : null); }); } @@ -9761,11 +9780,13 @@ requires } function getSelectedPlace() { - return self.selected ? getPlaceById(self.selected) : null; + return self.options.selected ? + getPlaceById(self.options.selected) : null; } function initMap() { var mapBounds; + self.elevationService = new google.maps.ElevationService(); self.geocoder = new google.maps.Geocoder(); self.maxZoomService = new google.maps.MaxZoomService(); self.places = []; @@ -9841,6 +9862,7 @@ requires components: data.address_components, countryCode: getCountryCode(data.address_components), east: bounds.getNorthEast().lng(), + editable: self.options.editable, fullGeoname: getFullGeoname(data.address_components), geoname: data.formatted_address, id: '_' + Ox.uid(), @@ -9937,10 +9959,14 @@ requires Ox.print('Ox.Map selectPlace()', id, self.selected) var place; if (id != self.selected) { - place = getSelectedPlace(); + place = getPlaceById(self.selected); place && place.deselect(); place = getPlaceById(id); place && place.select(); + self.selected = id; + self.options.selected = id; + setStatus(); + that.triggerEvent('selectplace', place); } if (id) { //self.map.setCenter(place.center); @@ -9954,32 +9980,31 @@ requires } */ } - self.options.selected = id; - self.selected = id; - setStatus(); - that.triggerEvent('selectplace', place); - /* - that.triggerEvent('select', { - id: self.options.selected - }); - */ + //Ox.print('????', place) }; function setStatus() { Ox.print('setStatus()', self.options.selected) - var place; + var disabled, place, title; if (self.options.statusbar) { if (self.options.selected) { - place = getPlaceById(self.options.selected); + place = getSelectedPlace(); + title = place.id[0] == '_' ? 'Add Place' : 'Remove Place'; + } else { + title = 'New Place'; } + disabled = place && !place.editable; self.$placeNameInput.options({ + disabled: disabled, value: self.options.selected ? place.name : '' }); self.$placeGeonameInput.options({ + disabled: disabled, value: self.options.selected ? place.geoname : '' }); self.$placeButton.options({ - title: self.options.selected ? 'Add Place' : 'New Place' + disabled: disabled, + title: title }); } } @@ -10094,12 +10119,13 @@ requires that.editPlace = function() { getPlaceById(self.options.selected).edit(); + return that; } that.findPlace = function(name, callback) { getPlaceByName(name, function(place) { if (place) { - addPlace(place); + addPlaceToMap(place); self.resultPlace = place; selectPlace(place.id); self.bounds = place.bounds; @@ -10112,13 +10138,13 @@ requires that.panToPlace = function() { Ox.print('panToPlace:', self.options.selected) - if (self.options.selected !== null) { - self.map.panTo(getPlaceById(self.options.selected).center); - } + var place = getSelectedPlace(); + place && self.map.panTo(place.center); + return that; }; that.removePlace = function(id) { - + return that; }; that.resizeMap = function() { @@ -10136,17 +10162,19 @@ requires self.options.zoombar && self.$zoomInput.options({ size: self.options.width }); + return that; } that.zoomToPlace = function() { Ox.print('zoomToPlace') - if (self.options.selected !== null) { - self.map.fitBounds(getPlaceById(self.options.selected).bounds); - } + var place = getSelectedPlace(); + place && self.map.fitBounds(place.bounds); + return that; }; that.zoom = function(value) { self.map.setZoom(value); + return that; }; return that; @@ -10193,6 +10221,7 @@ requires nw: new google.maps.LatLng(that.north, that.west), w: new google.maps.LatLng(that.lat, that.west), }); + // fixme: use bounds.toSpan() that.sizeNorthSouth = (that.north - that.south) * Ox.EARTH_CIRCUMFERENCE / 360; that.sizeEastWest = (that.east + (that.west > that.east ? 360 : 0) - that.west) * @@ -10214,6 +10243,10 @@ requires //Ox.print('PLACE', that) } + function editable() { + return that.map.options('editable') && that.editable; + } + that.add = function() { Ox.print('MapPlace add', that) that.marker.add(); @@ -10221,10 +10254,12 @@ requires }; that.cancel = function() { - that.undo(); - that.editing = false; - that.marker.update(); - that.rectangle.deselect(); + if (editable()) { + that.undo(); + that.editing = false; + that.marker.update(); + that.rectangle.deselect(); + } return that; }; @@ -10241,15 +10276,17 @@ requires }; that.edit = function() { - that.editing = true; - that.original = { - east: that.east, - north: that.north, - south: that.south, - west: that.west - }; - that.marker.edit(); - that.rectangle.select(); + if (editable()) { + that.editing = true; + that.original = { + east: that.east, + north: that.north, + south: that.south, + west: that.west + }; + that.marker.edit(); + that.rectangle.select(); + } return that; } @@ -10269,24 +10306,30 @@ requires }; that.submit = function() { - Ox.print('submit') - that.editing = false; - that.marker.update(); - that.rectangle.deselect(); + if (editable()) { + Ox.print('submit') + that.editing = false; + that.marker.update(); + that.rectangle.deselect(); + } return that; }; that.update = function() { update(); + return that; }; that.undo = function() { - Ox.forEach(that.original, function(v, k) { - that[k] = v; - }); - that.update(); - that.marker.update(); - that.rectangle.update(); + if (editable()) { + Ox.forEach(that.original, function(v, k) { + that[k] = v; + }); + that.update(); + that.marker.update(); + that.rectangle.update(); + } + return that; }; return that; @@ -10455,7 +10498,7 @@ requires setOptions(); function click() { - if (!that.place.editing) { + if (that.map.options('editable') && that.place.editable && !that.place.editing) { that.place.edit(); } else if (that.map.getKey() == 'meta') { that.place.submit(); @@ -10553,6 +10596,7 @@ requires } function drag(e) { + // fixme: implement shift+drag (center stays the same) Ox.print(e.pixel.x, e.pixel.y) var lat = Ox.limit(e.latLng.lat(), Ox.MIN_LATITUDE, Ox.MAX_LATITUDE), lng = e.latLng.lng(); diff --git a/demos/listmap/index.html b/demos/listmap/index.html new file mode 100644 index 00000000..96f13b95 --- /dev/null +++ b/demos/listmap/index.html @@ -0,0 +1,15 @@ + + + + ox.js listmap demo + + + + + + + + + + \ No newline at end of file diff --git a/demos/listmap/js/listmap.js b/demos/listmap/js/listmap.js new file mode 100644 index 00000000..c6755c2f --- /dev/null +++ b/demos/listmap/js/listmap.js @@ -0,0 +1,48 @@ +$(function() { + Ox.theme('modern'); + var listmap = new Ox.ListMap({ + height: window.innerHeight, + places: [ + { + editable: true, + flag: 'UK', + geoname: 'Westminster, London, UK', + id: '0', + name: 'London', + //lat: 51.5001524, + lat: 51.52670875, + lng: -0.1262362, + south: 51.3493528, + west: -0.378358, + north: 51.7040647, + east: 0.1502295 + }, + { + editable: false, + flag: 'FR', + geoname: 'Paris, France', + id: '1', + name: 'Paris', + lat: 48.8566667, + lng: 2.3509871, + south: 48.8155414, + west: 2.2241006, + north: 48.9021461, + east: 2.4699099, + } + ], + width: window.innerWidth + }) + .appendTo($('body')); + + $(window).resize(function() { + Ox.print('RESIZE', window.innerHeight) + listmap.options({ + height: window.innerHeight, + width: window.innerWidth + }); + }); + + window.listmap = listmap; + +}); \ No newline at end of file diff --git a/demos/map/js/map.js b/demos/map/js/map.js index be529b82..4dbd28ca 100644 --- a/demos/map/js/map.js +++ b/demos/map/js/map.js @@ -1,95 +1,110 @@ $(function() { - var width = window.innerWidth - 256, - height = window.innerHeight, - map = new Ox.Map({ - clickable: true, - height: height, - /* - places: Ox.COUNTRIES.map(function(country) { - return country.name; - }), - */ - places: [ - { - flag: 'UK', - geoname: 'Westminster, London, UK', - name: 'London', - //lat: 51.5001524, - lat: 51.52670875, - lng: -0.1262362, - south: 51.3493528, - west: -0.378358, - north: 51.7040647, - east: 0.1502295 - }, - { - flag: 'FR', - geoname: 'Paris, France', - name: 'Paris', - lat: 48.8566667, - lng: 2.3509871, - south: 48.8155414, - west: 2.2241006, - north: 48.9021461, - east: 2.4699099, - } - ], - statusbar: true, - toolbar: true, - width: width, - zoombar: true - }) - .bindEvent({ - selectplace: function(event, data) { - Ox.print('DATA', data) - panel.replaceElement(1, list = new Ox.TreeList({ - data: Ox.isEmpty(data) ? [] : { - components: data.components, - countryCode: data.countryCode, - crossesDateline: data.crossesDateline(), - east: data.east, - fullGeoname: data.fullGeoname, - geoname: data.geoname, - lat: data.lat, - lng: data.lng, - name: data.name, - north: data.north, - size: data.size, - sizeEastWest: data.sizeEastWest, - sizeNorthSouth: data.sizeNorthSouth, - south: data.south, - west: data.west, - types: data.types + $.getJSON('json/countries.json', function(data) { + + var width = window.innerWidth - 256, + height = window.innerHeight, + map = new Ox.Map({ + clickable: true, + editable: true, + height: height, + places: data.map(function(place) { + return Ox.extend({ + editable: true, + geoname: place.name, + name: place.name, + south: place.south, + west: place.west, + north: place.north, + east: place.east + }); + }), + /* + [ + { + editable: true, + flag: 'UK', + geoname: 'Westminster, London, UK', + name: 'London', + //lat: 51.5001524, + lat: 51.52670875, + lng: -0.1262362, + south: 51.3493528, + west: -0.378358, + north: 51.7040647, + east: 0.1502295 + }, + { + editable: false, + flag: 'FR', + geoname: 'Paris, France', + name: 'Paris', + lat: 48.8566667, + lng: 2.3509871, + south: 48.8155414, + west: 2.2241006, + north: 48.9021461, + east: 2.4699099, } - })); - } - }), - list = new Ox.TreeList({ - data: [], - width: 256 - }) - panel = new Ox.SplitPanel({ - elements: [ - { - element: map - }, - { - element: list, - size: 256 + ], + */ + statusbar: true, + toolbar: true, + width: width, + zoombar: true + }) + .bindEvent({ + selectplace: function(event, data) { + Ox.print('DATA', data) + panel.replaceElement(1, list = new Ox.TreeList({ + data: Ox.isEmpty(data) ? [] : { + components: data.components, + countryCode: data.countryCode, + crossesDateline: data.crossesDateline(), + east: data.east, + fullGeoname: data.fullGeoname, + geoname: data.geoname, + lat: data.lat, + lng: data.lng, + name: data.name, + north: data.north, + size: data.size, + sizeEastWest: data.sizeEastWest, + sizeNorthSouth: data.sizeNorthSouth, + south: data.south, + west: data.west, + types: data.types + } + })); } - ], - orientation: 'horizontal' - }) - .appendTo($('body')); - - map.gainFocus(); + }), + list = new Ox.TreeList({ + data: [], + width: 256 + }) + panel = new Ox.SplitPanel({ + elements: [ + { + element: map + }, + { + element: list, + size: 256 + } + ], + orientation: 'horizontal' + }) + .appendTo($('body')); - $(window).resize(function() { - map.options({ - height: window.innerHeight, - width: window.innerWidth - 256 + map.gainFocus(); + + $(window).resize(function() { + map.options({ + height: window.innerHeight, + width: window.innerWidth - 256 + }); }); + }); }); \ No newline at end of file diff --git a/demos/map/json/countries.json b/demos/map/json/countries.json new file mode 100644 index 00000000..ce20ba0e --- /dev/null +++ b/demos/map/json/countries.json @@ -0,0 +1,3379 @@ +[ + { + "code": "GE-AB", + "name": "Abkhazia", + "region": "Western Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 42.410732, + "west": 40.010239, + "north": 43.584541, + "east": 42.149976 + }, + { + "code": "AL", + "name": "Albania", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 39.644482, + "west": 19.1217, + "north": 42.661082, + "east": 21.057282 + }, + { + "code": "DZ", + "name": "Algeria", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 18.968147, + "west": -8.6666671, + "north": 37.2216, + "east": 11.9984998 + }, + { + "code": "AS", + "name": "American Samoa", + "country": "United States", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -14.7217607, + "west": -171.0076904, + "north": -13.4056506, + "east": -169.2059326 + }, + { + "code": "AD", + "name": "Andorra", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 42.4287631, + "west": 1.4087181, + "north": 42.6548685, + "east": 1.7864091 + }, + { + "code": "AO", + "name": "Angola", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -18.0386106, + "west": 11.4697, + "north": -4.3879444, + "east": 24.0844444 + }, + { + "code": "AI", + "name": "Anguilla", + "country": "United Kingdom", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 18.1465043, + "west": -63.4803772, + "north": 18.6332326, + "east": -62.9200745 + }, + { + "code": "AQ", + "name": "Antarctica", + "country": [ + "Argentina", + "Australia", + "Chile", + "France", + "New Zealand", + "Norway", + "United Kingdom" + ], + "continent": "Antarctica", + "south": -85.05112877980659, + "west": -179.999999, + "north": -60.1087, + "east": 179.999999 + }, + { + "code": "AG", + "name": "Antigua and Barbuda", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 16.9018, + "west": -62.3810577, + "north": 17.7499946, + "east": -61.6394806 + }, + { + "code": "AR", + "name": "Argentina", + "continent": "South America", + "type": "sovereign", + "south": -55.1035, + "west": -73.6322, + "north": -21.7808136, + "east": -53.6497164 + }, + { + "code": "AM", + "name": "Armenia", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 38.840244, + "west": 43.447212, + "north": 41.300993, + "east": 46.634222 + }, + { + "code": "AW", + "name": "Aruba", + "country": "Netherlands", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 12.406093, + "west": -70.0701141, + "north": 12.630618, + "east": -69.8644638 + }, + { + "code": "AC", + "name": "Ascension", + "country": "United Kingdom", + "region": "Western Africa", + "continent": "Africa", + "type": "dependent", + "south": -7.9942974, + "west": -14.4235039, + "north": -7.8876128, + "east": -14.2892647 + }, + { + "code": "AU-AC", + "name": "Ashmore and Cartier Islands", + "country": "Australia", + "type": "dependent", + "south": -12.532686, + "west": 122.928104, + "north": -12.249599, + "east": 123.559403 + }, + { + "code": "AU", + "name": "Australia", + "region": "Australia and New Zealand", + "continent": "Oceania", + "type": "sovereign", + "south": -43.9572, + "west": 112.5, + "north": -9.2065, + "east": 159.332 + }, + { + "code": "AT", + "name": "Austria", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 46.372299, + "west": 9.5307833, + "north": 49.020712, + "east": 17.160749 + }, + { + "code": "AZ", + "name": "Azerbaijan", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 38.39199, + "west": 44.764683, + "north": 41.9595, + "east": 50.7458 + }, + { + "code": "BS", + "name": "Bahamas", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 20.8536786, + "west": -79.453125, + "north": 27.2350946, + "east": -72.6196289 + }, + { + "code": "BH", + "name": "Bahrain", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 25.5356264, + "west": 50.3448486, + "north": 26.3315761, + "east": 50.8509064 + }, + { + "code": "BD", + "name": "Bangladesh", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 20.6174, + "west": 88.0324305, + "north": 26.6366921, + "east": 92.6801154 + }, + { + "code": "BB", + "name": "Barbados", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 13.039844, + "west": -59.6530151, + "north": 13.3365093, + "east": -59.4174957 + }, + { + "code": "BY", + "name": "Belarus", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 51.262011, + "west": 23.1783377, + "north": 56.172494, + "east": 32.77682 + }, + { + "code": "BE", + "name": "Belgium", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 49.49701, + "west": 2.5241, + "north": 51.5051448, + "east": 6.4079065 + }, + { + "code": "BZ", + "name": "Belize", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 15.8861967, + "west": -89.2276392, + "north": 18.4958198, + "east": -87.3083 + }, + { + "code": "BJ", + "name": "Benin", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 6.2061, + "west": 0.7766672, + "north": 12.4084434, + "east": 3.843343 + }, + { + "code": "BM", + "name": "Bermuda", + "country": "United Kingdom", + "region": "Northern America", + "continent": "North America", + "type": "dependent", + "south": 32.2424974, + "west": -64.8914337, + "north": 32.393833, + "east": -64.651993 + }, + { + "code": "BT", + "name": "Bhutan", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 26.702016, + "west": 88.7464735, + "north": 28.360825, + "east": 92.1252321 + }, + { + "code": "BO", + "name": "Bolivia", + "continent": "South America", + "type": "sovereign", + "south": -22.9011111, + "west": -69.6427924, + "north": -9.6794442, + "east": -57.4555547 + }, + { + "code": "BQ", + "name": "Bonaire, Saint Eustatius and Saba", + "country": "Netherlands", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 12.0255536, + "west": -68.4228516, + "north": 12.3112651, + "east": -68.1966405 + }, + { + "code": "BA", + "name": "Bosnia and Herzegovina", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 42.5565375, + "west": 15.729282, + "north": 45.276582, + "east": 19.621935 + }, + { + "code": "BW", + "name": "Botswana", + "region": "Southern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -26.8958336, + "west": 20, + "north": -17.7778089, + "east": 29.3753037 + }, + { + "code": "BV", + "name": "Bouvet Island", + "country": "Norway", + "continent": "Antarctica", + "type": "dependent", + "south": -54.462379, + "west": 3.335499, + "north": -54.400322, + "east": 3.487976 + }, + { + "code": "BR", + "name": "Brazil", + "continent": "South America", + "type": "sovereign", + "south": -34.0891, + "west": -73.982817, + "north": 5.271602, + "east": -34.1016 + }, + { + "code": "BQAQ", + "name": "British Antarctic Territory", + "country": "United Kingdom", + "continent": "Antarctica", + "type": "former", + "south": 11.8996035, + "west": -69.2770386, + "north": 18.0636995, + "east": -62.8857422 + }, + { + "code": "IO", + "name": "British Indian Ocean Territory", + "country": "United Kingdom", + "type": "dependent", + "south": -7.4891118, + "west": 71.1859131, + "north": -5.1401857, + "east": 72.5880432 + }, + { + "code": "VG", + "name": "British Virgin Islands", + "country": "United Kingdom", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 18.312737, + "west": -64.852492, + "north": 18.757221, + "east": -64.268768 + }, + { + "code": "BN", + "name": "Brunei", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 4.002508, + "west": 114.0752, + "north": 5.0978, + "east": 115.3635623 + }, + { + "code": "BG", + "name": "Bulgaria", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 41.2358638, + "west": 22.3559007, + "north": 44.2151673, + "east": 28.7292 + }, + { + "code": "BF", + "name": "Burkina Faso", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 9.3938889, + "west": -5.5211114, + "north": 15.085111, + "east": 2.4042926 + }, + { + "code": "BUMM", + "name": "Burma", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "former", + "south": 9.4518, + "west": 92.171808, + "north": 28.5478351, + "east": 101.1702717 + }, + { + "code": "BI", + "name": "Burundi", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -4.4611114, + "west": 29.0004914, + "north": -2.2980556, + "east": 30.8538889 + }, + { + "code": "BYAA", + "name": "Byelorussian Soviet Socialist Republic", + "region": "Eastern Europe", + "continent": "Europe", + "type": "former", + "south": 51.262011, + "west": 23.1783377, + "north": 56.172494, + "east": 32.77682 + }, + { + "code": "KH", + "name": "Cambodia", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 9.178, + "west": 102.333542, + "north": 14.690179, + "east": 107.627687 + }, + { + "code": "CM", + "name": "Cameroon", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": 1.6527778, + "west": 8.3936, + "north": 13.0833349, + "east": 16.2072219 + }, + { + "code": "CA", + "name": "Canada", + "region": "Northern America", + "continent": "North America", + "type": "sovereign", + "south": 41.6763279, + "west": -141.002725, + "north": 83.6381, + "east": -50.9766 + }, + { + "code": "IC", + "name": "Canary Islands", + "country": "Spain", + "region": "Northern Africa", + "continent": "Africa", + "type": "dependent", + "south": 27.6377504, + "west": -18.1606948, + "north": 29.4149658, + "east": -13.4192118 + }, + { + "code": "CTKI", + "name": "Canton and Enderbury Islands", + "region": "Micronesia", + "continent": "Oceania", + "type": "former", + "south": -3.727144, + "west": -170.717621, + "north": -3.716213, + "east": -170.70842 + }, + { + "code": "CV", + "name": "Cape Verde", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 14.7270734, + "west": -25.3839111, + "north": 17.3191764, + "east": -22.5933838 + }, + { + "code": "KY", + "name": "Cayman Islands", + "country": "United Kingdom", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 19.2604285, + "west": -81.4222527, + "north": 19.7686421, + "east": -79.7140503 + }, + { + "code": "CF", + "name": "Central African Republic", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": 2.2213894, + "west": 14.4144436, + "north": 11.017957, + "east": 27.4642182 + }, + { + "code": "EA", + "name": "Ceuta and Melilla", + "country": "Spain", + "region": "Northern Africa", + "continent": "Africa", + "type": "dependent", + "south": 35.2654743, + "west": -2.9703619, + "north": 35.3201965, + "east": -2.9231855 + }, + { + "code": "TD", + "name": "Chad", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": 7.442975, + "west": 13.47, + "north": 23.449235, + "east": 24.000001 + }, + { + "code": "CL", + "name": "Chile", + "continent": "South America", + "type": "sovereign", + "south": -56.1455, + "west": -110.0281, + "north": -17.4983319, + "east": -66.3327 + }, + { + "code": "CN", + "name": "China", + "region": "Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 17.9996, + "west": 73.4994137, + "north": 53.560974, + "east": 134.77281 + }, + { + "code": "CX", + "name": "Christmas Island", + "country": "Australia", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "dependent", + "south": -10.570362, + "west": 105.5333161, + "north": -10.412352, + "east": 105.7129383 + }, + { + "code": "CP", + "name": "Clipperton Island", + "country": "France", + "type": "dependent", + "south": -28.61346, + "west": -154.4678, + "north": -6.4682, + "east": -137.3511 + }, + { + "code": "CC", + "name": "Cocos Islands", + "country": "Australia", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "dependent", + "south": -0.1709691, + "west": -95.262501, + "north": 11.1831224, + "east": -78.870899 + }, + { + "code": "CO", + "name": "Colombia", + "continent": "South America", + "type": "sovereign", + "south": -4.22711, + "west": -81.8317, + "north": 13.5178, + "east": -66.8503172 + }, + { + "code": "KM", + "name": "Comoros", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -12.4687601, + "west": 43.1968689, + "north": -11.3373321, + "east": 44.5646667 + }, + { + "code": "CK", + "name": "Cook Islands", + "country": "New Zealand", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -23.0898384, + "west": -166.1791992, + "north": -8.1679932, + "east": -155.6982422 + }, + { + "code": "AU-CS", + "name": "Coral Sea Islands", + "country": "Australia", + "type": "dependent", + "south": -17.727644, + "west": 149.127884, + "north": -16.019499, + "east": 152.114746 + }, + { + "code": "CR", + "name": "Costa Rica", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 7.9722, + "west": -86.0449, + "north": 11.2185356, + "east": -82.5183 + }, + { + "code": "HR", + "name": "Croatia", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 42.38, + "west": 13.3649, + "north": 46.5549896, + "east": 19.449118 + }, + { + "code": "CU", + "name": "Cuba", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 19.6529, + "west": -85.1715, + "north": 23.3776, + "east": -73.9545 + }, + { + "code": "CW", + "name": "Curaçao", + "country": "Netherlands", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 12.0379775, + "west": -69.1600137, + "north": 12.3916805, + "east": -68.7385368 + }, + { + "code": "CY", + "name": "Cyprus", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 34.6304, + "west": 32.2459, + "north": 35.7072, + "east": 34.6045 + }, + { + "code": "CZ", + "name": "Czech Republic", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 48.5515315, + "west": 12.0909912, + "north": 51.055648, + "east": 18.859236 + }, + { + "code": "CSHH", + "name": "Czechoslovakia", + "region": "Eastern Europe", + "continent": "Europe", + "type": "former", + "south": 14.4799532, + "west": 121.0386376, + "north": 14.4807586, + "east": 121.0394941 + }, + { + "code": "CI", + "name": "Côte d'Ivoire", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 4.193, + "west": -8.602059, + "north": 10.740015, + "east": -2.4877781 + }, + { + "code": "DYBJ", + "name": "Dahomey", + "region": "Western Africa", + "continent": "Africa", + "type": "former", + "south": 29.280647, + "west": -81.0608512, + "north": 29.281923, + "east": -81.0589702 + }, + { + "code": "CD", + "name": "Democratic Republic of the Congo", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -13.4580558, + "west": 12.1454, + "north": 5.3813889, + "east": 31.3208323 + }, + { + "code": "DK", + "name": "Denmark", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 54.4317, + "west": 7.8552, + "north": 58.02846, + "east": 13.16711 + }, + { + "code": "DG", + "name": "Diego Garcia", + "country": "United Kingdom", + "type": "dependent", + "south": -7.4435391, + "west": 72.3540902, + "north": -7.2332527, + "east": 72.4943805 + }, + { + "code": "DJ", + "name": "Djibouti", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 10.9319442, + "west": 41.7597222, + "north": 12.7136968, + "east": 43.4839 + }, + { + "code": "DM", + "name": "Dominica", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 15.20169, + "west": -61.484108, + "north": 15.6537839, + "east": -61.2295532 + }, + { + "code": "DO", + "name": "Dominican Republic", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 17.3611, + "west": -72.00751, + "north": 19.978699, + "east": -68.2526 + }, + { + "code": "NQAQ", + "name": "Dronning Maud Land", + "country": "Norway", + "continent": "Antarctica", + "type": "former", + "south": 11.8996035, + "west": -69.2770386, + "north": 18.0636995, + "east": -62.8857422 + }, + { + "code": "DDDE", + "name": "East Germany", + "region": "Eastern Europe", + "continent": "Europe", + "type": "former", + "south": 47.270127, + "west": 5.8662579, + "north": 55.0815, + "east": 15.0418321 + }, + { + "code": "TPTL", + "name": "East Timor", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "former", + "south": -9.5303, + "west": 124.0332, + "north": -8.0484, + "east": 127.4249 + }, + { + "code": "EC", + "name": "Ecuador", + "continent": "South America", + "type": "sovereign", + "south": -5.014351, + "west": -92.6038, + "north": 2.2955, + "east": -75.188794 + }, + { + "code": "EG", + "name": "Egypt", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 22, + "west": 24.6954964, + "north": 31.8122, + "east": 37.0569 + }, + { + "code": "SV", + "name": "El Salvador", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 13.0474, + "west": -90.1923, + "north": 14.4500015, + "east": -87.6682 + }, + { + "code": "GB-ENG", + "name": "England", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 49.8825312, + "west": -6.3651943, + "north": 55.8116485, + "east": 1.768926 + }, + { + "code": "GQ", + "name": "Equatorial Guinea", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -1.5475, + "west": 5.5419, + "north": 3.8355, + "east": 11.3538886 + }, + { + "code": "ER", + "name": "Eritrea", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 12.354723, + "west": 36.4433333, + "north": 17.9892, + "east": 43.2312 + }, + { + "code": "EE", + "name": "Estonia", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 57.5093155, + "west": 21.6541, + "north": 59.7315, + "east": 28.210139 + }, + { + "code": "ET", + "name": "Ethiopia", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 3.4041356, + "west": 32.9911111, + "north": 14.8942145, + "east": 47.9999999 + }, + { + "code": "EU", + "name": "European Union", + "continent": "Europe", + "type": "other", + "south": 0.3065863, + "west": 32.5726145, + "north": 0.3289019, + "east": 32.6046293 + }, + { + "code": "FK", + "name": "Falkland Islands", + "country": "United Kingdom", + "continent": "South America", + "type": "dependent", + "south": -52.4744161, + "west": -61.3792419, + "north": -50.9809116, + "east": -57.6768494 + }, + { + "code": "FO", + "name": "Faroe Islands", + "country": "Denmark", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 61.3677776, + "west": -7.7178955, + "north": 62.4310742, + "east": -6.1907959 + }, + { + "code": "FJ", + "name": "Fiji", + "region": "Melanesia", + "continent": "Oceania", + "type": "sovereign", + "south": -20.8998713, + "west": 176.7919922, + "north": -12.2084957, + "east": -177.8686523 + }, + { + "code": "FI", + "name": "Finland", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 59.6872, + "west": 19.2096, + "north": 70.0922932, + "east": 31.5871 + }, + { + "code": "FR", + "name": "France", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 41.3253, + "west": -5.5591, + "north": 51.1242, + "east": 9.6625 + }, + { + "code": "AIDJ", + "name": "French Afar and Issas", + "country": "France", + "region": "Eastern Africa", + "continent": "Africa", + "type": "former", + "south": -13.4580558, + "west": 12.1454, + "north": 5.3813889, + "east": 31.3208323 + }, + { + "code": "GF", + "name": "French Guiana", + "country": "France", + "continent": "South America", + "type": "dependent", + "south": 2.109287, + "west": -54.554438, + "north": 5.9548, + "east": -51.616449 + }, + { + "code": "PF", + "name": "French Polynesia", + "country": "France", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -28.61346, + "west": -154.4678, + "north": -6.4682, + "east": -137.3511 + }, + { + "code": "TF", + "name": "French Southern Territories", + "country": "France", + "type": "dependent", + "south": -50.0641917, + "west": 68.4832764, + "north": -48.4036794, + "east": 70.6558228 + }, + { + "code": "FQHH", + "name": "French Southern and Antarctic Territories", + "country": "France", + "continent": "Antarctica", + "type": "former", + "south": -13.4580558, + "west": 12.1454, + "north": 5.3813889, + "east": 31.3208323 + }, + { + "code": "GA", + "name": "Gabon", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -4.1656, + "west": 8.421, + "north": 2.3269444, + "east": 14.5205561 + }, + { + "code": "GM", + "name": "Gambia", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 13.0099, + "west": -16.9464, + "north": 13.8263892, + "east": -13.7986106 + }, + { + "code": "GE", + "name": "Georgia", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 41.054942, + "west": 39.9792, + "north": 43.585991, + "east": 46.736119 + }, + { + "code": "DE", + "name": "Germany", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 47.270127, + "west": 5.8662579, + "north": 55.0815, + "east": 15.0418321 + }, + { + "code": "GH", + "name": "Ghana", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 4.6339, + "west": -3.2491669, + "north": 11.1666675, + "east": 1.1995656 + }, + { + "code": "GI", + "name": "Gibraltar", + "country": "United Kingdom", + "region": "Southern Europe", + "continent": "Europe", + "type": "dependent", + "south": 36.1039, + "west": -5.3721, + "north": 36.1551187, + "east": -5.3345 + }, + { + "code": "GEHH", + "name": "Gilbert and Ellice Islands", + "type": "former", + "south": 47.270127, + "west": 5.8662579, + "north": 55.0815, + "east": 15.0418321 + }, + { + "code": "GR", + "name": "Greece", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 34.5428, + "west": 19.3098, + "north": 41.7485456, + "east": 28.4491 + }, + { + "code": "GL", + "name": "Greenland", + "country": "Denmark", + "region": "Northern America", + "continent": "North America", + "type": "dependent", + "south": 58.26329, + "west": -73.82812, + "north": 83.9702561, + "east": -8.26172 + }, + { + "code": "GD", + "name": "Grenada", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 11.9829051, + "west": -61.8059921, + "north": 12.5672975, + "east": -61.3620758 + }, + { + "code": "GP", + "name": "Guadeloupe", + "country": "France", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 15.742032, + "west": -62.067641, + "north": 16.995971, + "east": -60.9473419 + }, + { + "code": "GU", + "name": "Guam", + "country": "United States", + "region": "Micronesia", + "continent": "Oceania", + "type": "dependent", + "south": 13.1022175, + "west": 144.4647217, + "north": 13.7994072, + "east": 145.112915 + }, + { + "code": "GT", + "name": "Guatemala", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 13.63, + "west": -92.2714, + "north": 17.8156972, + "east": -88.1982 + }, + { + "code": "GG", + "name": "Guernsey", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 49.407746, + "west": -2.675589, + "north": 49.731547, + "east": -2.158902 + }, + { + "code": "GN", + "name": "Guinea", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 7.190909, + "west": -15.282, + "north": 12.6775003, + "east": -7.6463886 + }, + { + "code": "GW", + "name": "Guinea-Bissau", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 10.7146, + "west": -16.9519, + "north": 12.6847225, + "east": -13.6430556 + }, + { + "code": "GY", + "name": "Guyana", + "continent": "South America", + "type": "sovereign", + "south": 1.164724, + "west": -61.414905, + "north": 8.7222, + "east": -56.49112 + }, + { + "code": "HT", + "name": "Haiti", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 17.9422, + "west": -74.6082, + "north": 20.1282, + "east": -71.621754 + }, + { + "code": "HM", + "name": "Heard Island and McDonald Islands", + "country": "Australia", + "continent": "Antarctica", + "type": "dependent", + "south": -53.192001, + "west": 72.596535, + "north": -52.909416, + "east": 73.859146 + }, + { + "code": "VA", + "name": "Holy See", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 41.9002147, + "west": 12.4458426, + "north": 41.9074693, + "east": 12.458325 + }, + { + "code": "HN", + "name": "Honduras", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 12.9842246, + "west": -89.355148, + "north": 17.4678, + "east": -83.0621 + }, + { + "code": "HK", + "name": "Hong Kong", + "country": "China", + "region": "Eastern Asia", + "continent": "Asia", + "type": "dependent", + "south": 22.1435, + "west": 113.8259, + "north": 22.561968, + "east": 114.4295 + }, + { + "code": "HU", + "name": "Hungary", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 45.737124, + "west": 16.1136813, + "north": 48.585233, + "east": 22.8982339 + }, + { + "code": "IS", + "name": "Iceland", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 62.4819, + "west": -26.2573, + "north": 67.2466, + "east": -12.2388 + }, + { + "code": "IN", + "name": "India", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 6.4627, + "west": 68.1097, + "north": 35.5071565, + "east": 97.395555 + }, + { + "code": "ID", + "name": "Indonesia", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": -11.1083, + "west": 94.7351, + "north": 6.217, + "east": 141.0425 + }, + { + "code": "IR", + "name": "Iran", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 24.8067, + "west": 44.0318908, + "north": 39.7816755, + "east": 63.3333366 + }, + { + "code": "IQ", + "name": "Iraq", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 29.061208, + "west": 38.793674, + "north": 37.380932, + "east": 48.6351 + }, + { + "code": "IE", + "name": "Ireland", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 51.3066, + "west": -10.7666, + "north": 55.4602, + "east": -5.6689 + }, + { + "code": "IM", + "name": "Isle of Man", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 54.04464, + "west": -4.830181, + "north": 54.418247, + "east": -4.308328 + }, + { + "code": "IL", + "name": "Israel", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 29.4797, + "west": 34.267387, + "north": 33.332805, + "east": 35.89473 + }, + { + "code": "IT", + "name": "Italy", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 36.4699, + "west": 6.6266397, + "north": 47.0924248, + "east": 18.7976 + }, + { + "code": "JM", + "name": "Jamaica", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 17.6688854, + "west": -78.4073639, + "north": 18.569782, + "east": -76.1448669 + }, + { + "code": "JP", + "name": "Japan", + "region": "Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 23.9207972, + "west": 122.91, + "north": 45.6691047, + "east": 149.120962 + }, + { + "code": "JE", + "name": "Jersey", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 49.164176, + "west": -2.256745, + "north": 49.259406, + "east": -2.01882 + }, + { + "code": "JTUM", + "name": "Johnston Island", + "country": "United States", + "region": "Mictonesia", + "continent": "Oceania", + "type": "former", + "south": 41.8674326, + "west": -71.4951191, + "north": 41.8685585, + "east": -71.4934976 + }, + { + "code": "JO", + "name": "Jordan", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 29.185036, + "west": 34.9441, + "north": 33.374735, + "east": 39.301154 + }, + { + "code": "KZ", + "name": "Kazakhstan", + "region": "Central Asia", + "continent": "Asia", + "type": "sovereign", + "south": 40.568584, + "west": 46.493672, + "north": 55.441984, + "east": 87.315415 + }, + { + "code": "KE", + "name": "Kenya", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -4.7243, + "west": 33.9098213, + "north": 5.0408674, + "east": 41.9068316 + }, + { + "code": "KI", + "name": "Kiribati", + "region": "Micronesia", + "continent": "Oceania", + "type": "sovereign", + "south": -14.0939572, + "west": 168.8818359, + "north": 5.4082109, + "east": -144.2285156 + }, + { + "code": "KOHH", + "name": "Korea", + "region": "Eastern Asia", + "continent": "Asia", + "type": "former", + "south": 33.0041, + "west": 124.8541, + "north": 38.634, + "east": 131.1603 + }, + { + "code": "RS-KO", + "name": "Kosovo", + "region": "Southern Europe", + "continent": "Europe", + "type": "unrecognized", + "south": 41.852085, + "west": 20.014284, + "north": 43.269314, + "east": 21.789867 + }, + { + "code": "KW", + "name": "Kuwait", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 28.5244463, + "west": 46.55304, + "north": 30.1036993, + "east": 48.5184 + }, + { + "code": "KG", + "name": "Kyrgyzstan", + "region": "Central Asia", + "continent": "Asia", + "type": "sovereign", + "south": 39.180254, + "west": 69.250998, + "north": 43.265357, + "east": 80.293773 + }, + { + "code": "LA", + "name": "Laos", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 13.90972, + "west": 100.083214, + "north": 22.502872, + "east": 107.69483 + }, + { + "code": "LV", + "name": "Latvia", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 55.6748581, + "west": 20.8466, + "north": 58.0855713, + "east": 28.241403 + }, + { + "code": "LB", + "name": "Lebanon", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 33.0550257, + "west": 35.0711, + "north": 34.69209, + "east": 36.62372 + }, + { + "code": "LS", + "name": "Lesotho", + "region": "Southern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -30.6755788, + "west": 27.0112311, + "north": -28.5708011, + "east": 29.4557088 + }, + { + "code": "LR", + "name": "Liberia", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 4.2697, + "west": -11.5356, + "north": 8.551986, + "east": -7.369255 + }, + { + "code": "LY", + "name": "Libya", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 19.5004298, + "west": 9.3891431, + "north": 33.2203, + "east": 25.2686 + }, + { + "code": "LI", + "name": "Liechtenstein", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 47.04829, + "west": 9.47162, + "north": 47.2705467, + "east": 9.63565 + }, + { + "code": "LT", + "name": "Lithuania", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 53.898672, + "west": 20.931, + "north": 56.4503174, + "east": 26.83565 + }, + { + "code": "LU", + "name": "Luxembourg", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 49.4480355, + "west": 5.7356294, + "north": 50.1829445, + "east": 6.53097 + }, + { + "code": "MO", + "name": "Macau", + "country": "China", + "region": "Eastern Asia", + "continent": "Asia", + "type": "dependent", + "south": 22.1066, + "west": 113.5287132, + "north": 22.217159, + "east": 113.6127 + }, + { + "code": "MK", + "name": "Macedonia", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 40.855222, + "west": 20.452423, + "north": 42.373646, + "east": 23.034093 + }, + { + "code": "MG", + "name": "Madagascar", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -26.2146, + "west": 42.7368, + "north": -11.437, + "east": 50.9985 + }, + { + "code": "MW", + "name": "Malawi", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -17.1352783, + "west": 32.6788892, + "north": -9.3671481, + "east": 35.9241664 + }, + { + "code": "MY", + "name": "Malaysia", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 0.853821, + "west": 99.5787, + "north": 7.5191, + "east": 119.5738 + }, + { + "code": "MV", + "name": "Maldives", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": -1.2907844, + "west": 71.751709, + "north": 7.5149809, + "east": 74.7290039 + }, + { + "code": "ML", + "name": "Mali", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 10.147811, + "west": -12.238885, + "north": 25.000012, + "east": 4.2666666 + }, + { + "code": "MT", + "name": "Malta", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 35.8038922, + "west": 14.191582, + "north": 36.082016, + "east": 14.5779991 + }, + { + "code": "MH", + "name": "Marshall Islands", + "region": "Micronesia", + "continent": "Oceania", + "type": "sovereign", + "south": 4.1601582, + "west": 159.8840332, + "north": 15.019075, + "east": 172.5732422 + }, + { + "code": "MQ", + "name": "Martinique", + "country": "France", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 14.370834, + "west": -61.2419128, + "north": 14.8973451, + "east": -60.7856369 + }, + { + "code": "MR", + "name": "Mauritania", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 14.721273, + "west": -17.0701337, + "north": 27.2944447, + "east": -4.8333343 + }, + { + "code": "MU", + "name": "Mauritius", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -21.637, + "west": 55.7666, + "north": -18.7763, + "east": 59.5844 + }, + { + "code": "YT", + "name": "Mayotte", + "country": "France", + "region": "Eastern Africa", + "continent": "Africa", + "type": "dependent", + "south": -13.0358331, + "west": 44.9914169, + "north": -12.5772665, + "east": 45.3201485 + }, + { + "code": "FXFR", + "name": "Metropolitan France", + "country": "France", + "continent": "Europe", + "type": "former", + "south": 40.7456521, + "west": -74.0027104, + "north": 40.7625568, + "east": -73.9706956 + }, + { + "code": "MX", + "name": "Mexico", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 14.3895, + "west": -118.6523, + "north": 32.718763, + "east": -86.5887 + }, + { + "code": "FM", + "name": "Micronesia", + "region": "Micronesia", + "continent": "Oceania", + "type": "sovereign", + "south": 0.1538084, + "west": 136.9226074, + "north": 10.2770863, + "east": 163.5177612 + }, + { + "code": "MIUM", + "name": "Midway Islands", + "country": "United States", + "continent": "Oceania", + "type": "former", + "south": -0.389006, + "west": 166.593323, + "north": 28.398027, + "east": -75 + }, + { + "code": "MD", + "name": "Moldova", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 45.466904, + "west": 26.616856, + "north": 48.491944, + "east": 30.162538 + }, + { + "code": "MC", + "name": "Monaco", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 43.7238, + "west": 7.4091036, + "north": 43.7519042, + "east": 7.4426 + }, + { + "code": "MN", + "name": "Mongolia", + "region": "Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 41.58152, + "west": 87.73762, + "north": 52.1486965, + "east": 119.931949 + }, + { + "code": "ME", + "name": "Montenegro", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 41.8297, + "west": 18.43398, + "north": 43.558743, + "east": 20.357765 + }, + { + "code": "MS", + "name": "Montserrat", + "country": "United Kingdom", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 16.671007, + "west": -62.242584, + "north": 16.8260672, + "east": -62.1426201 + }, + { + "code": "MA", + "name": "Morocco", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 27.6666665, + "west": -13.3044, + "north": 35.9344, + "east": -0.9969758 + }, + { + "code": "MZ", + "name": "Mozambique", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -26.9612, + "west": 30.2127775, + "north": -10.3365, + "east": 41.3965 + }, + { + "code": "MM", + "name": "Myanmar", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 9.4518, + "west": 92.171808, + "north": 28.5478351, + "east": 101.1702717 + }, + { + "code": "AZ-NK", + "name": "Nagorno-Karabakh", + "region": "Western Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 39.4456577, + "west": 46.247494, + "north": 40.4144163, + "east": 47.1954658 + }, + { + "code": "NA", + "name": "Namibia", + "region": "Southern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -28.9706386, + "west": 11.4697, + "north": -16.9527769, + "east": 25.2630084 + }, + { + "code": "NR", + "name": "Nauru", + "region": "Micronesia", + "continent": "Oceania", + "type": "sovereign", + "south": -0.5580623, + "west": 166.9071293, + "north": -0.4978976, + "east": 166.9631767 + }, + { + "code": "NP", + "name": "Nepal", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 26.3477794, + "west": 80.0522222, + "north": 30.4469452, + "east": 88.1992978 + }, + { + "code": "NL", + "name": "Netherlands", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 50.7503837, + "west": 3.3316, + "north": 53.6756, + "east": 7.2271405 + }, + { + "code": "ANHH", + "name": "Netherlands Antilles", + "country": "Netherlands", + "region": "Carribean", + "continent": "North America", + "type": "former", + "south": 11.8996035, + "west": -69.2770386, + "north": 18.0636995, + "east": -62.8857422 + }, + { + "code": "NTHH", + "name": "Neutral Zone", + "region": "Western Asia", + "continent": "Asia", + "type": "former", + "south": 41.7662061, + "west": -88.0093504, + "north": 41.7828488, + "east": -87.9773356 + }, + { + "code": "NC", + "name": "New Caledonia", + "country": "France", + "region": "Melanesia", + "continent": "Oceania", + "type": "dependent", + "south": -23.2514405, + "west": 163.3557129, + "north": -19.1607355, + "east": 168.3325195 + }, + { + "code": "NHVU", + "name": "New Hebrides", + "country": [ + "France", + "United Kingdom" + ], + "region": "Melanesia", + "type": "former", + "south": -16.3429273, + "west": 166.4877624, + "north": -15.6564832, + "east": 167.5122376 + }, + { + "code": "NZ", + "name": "New Zealand", + "region": "Australia and New Zealand", + "continent": "Oceania", + "type": "sovereign", + "south": -47.8427, + "west": 165.6738, + "north": -34.1436, + "east": 179.0112 + }, + { + "code": "NI", + "name": "Nicaragua", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 10.7090505, + "west": -87.7588, + "north": 15.0302755, + "east": -82.2766 + }, + { + "code": "NE", + "name": "Niger", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 11.6928011, + "west": 0.1666672, + "north": 23.515, + "east": 15.999034 + }, + { + "code": "NG", + "name": "Nigeria", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 4.1821, + "west": 2.676932, + "north": 13.8896121, + "east": 14.678099 + }, + { + "code": "NU", + "name": "Niue", + "country": "New Zealand", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -19.1555668, + "west": -169.9500847, + "north": -18.952625, + "east": -169.7743249 + }, + { + "code": "NF", + "name": "Norfolk Island", + "country": "Australia", + "region": "Australia and New Zealand", + "continent": "Oceania", + "type": "dependent", + "south": -29.126415, + "west": 167.914414, + "north": -29.001979, + "east": 167.998033 + }, + { + "code": "KP", + "name": "North Korea", + "region": "Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 37.5751, + "west": 124.1016, + "north": 43.01159, + "east": 130.68865 + }, + { + "code": "VDVN", + "name": "North Vietnam", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "former", + "south": 8.1952, + "west": 102.14441, + "north": 23.393395, + "east": 109.6765 + }, + { + "code": "CY-NC", + "name": "Northern Cyprus", + "region": "Western Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 34.6304, + "west": 32.2459, + "north": 35.7072, + "east": 34.6045 + }, + { + "code": "GB-NIR", + "name": "Northern Ireland", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 54.0211981, + "west": -8.176558, + "north": 55.312612, + "east": -5.4196167 + }, + { + "code": "MP", + "name": "Northern Mariana Islands", + "country": "United States", + "region": "Micronesia", + "continent": "Oceania", + "type": "dependent", + "south": 13.9713848, + "west": 144.7668457, + "north": 20.6584862, + "east": 146.2060547 + }, + { + "code": "NO", + "name": "Norway", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 57.8097, + "west": 4.0649, + "north": 71.3078, + "east": 31.355 + }, + { + "code": "OM", + "name": "Oman", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 16.4572, + "west": 52, + "north": 26.4361, + "east": 60.304 + }, + { + "code": "PCHH", + "name": "Pacific Islands", + "country": "United States", + "region": "Micronesia", + "continent": "Oceania", + "type": "former", + "south": 34.1376871, + "west": -118.2719774, + "north": 34.1561559, + "east": -118.2399626 + }, + { + "code": "PK", + "name": "Pakistan", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 23.6345, + "west": 60.872972, + "north": 37.084107, + "east": 77.8344316 + }, + { + "code": "PW", + "name": "Palau", + "region": "Micronesia", + "continent": "Oceania", + "type": "sovereign", + "south": 4.1711155, + "west": 131.8579102, + "north": 8.2386736, + "east": 135.0769043 + }, + { + "code": "PS", + "name": "Palestine", + "region": "Western Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 41.6066805, + "west": -93.8545674, + "north": 41.6233644, + "east": -93.8225526 + }, + { + "code": "PA", + "name": "Panama", + "region": "Central America", + "continent": "North America", + "type": "sovereign", + "south": 7.0409, + "west": -83.0522411, + "north": 9.7145, + "east": -77.158488 + }, + { + "code": "PZPA", + "name": "Panama Canal Zone", + "country": "United States", + "region": "Central America", + "continent": "North America", + "type": "former", + "south": 7.0409, + "west": -83.0522411, + "north": 9.7145, + "east": -77.158488 + }, + { + "code": "PG", + "name": "Papua New Guinea", + "region": "Melanesia", + "continent": "Oceania", + "type": "sovereign", + "south": -12.0823, + "west": 140.8500003, + "north": -0.6702, + "east": 159.9609 + }, + { + "code": "PY", + "name": "Paraguay", + "continent": "South America", + "type": "sovereign", + "south": -27.5883342, + "west": -62.638051, + "north": -19.2895602, + "east": -54.2430553 + }, + { + "code": "PE", + "name": "Peru", + "continent": "South America", + "type": "sovereign", + "south": -18.4483, + "west": -81.3867, + "north": -0.038777, + "east": -68.6740781 + }, + { + "code": "PH", + "name": "Philippines", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 4.2259, + "west": 116.1475, + "north": 19.932, + "east": 127.771 + }, + { + "code": "PN", + "name": "Pitcairn", + "country": "United Kingdom", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -25.1776022, + "west": -130.9268188, + "north": -23.7928845, + "east": -124.5410156 + }, + { + "code": "PL", + "name": "Poland", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 49.0020251, + "west": 14.1223531, + "north": 54.9054761, + "east": 24.1458933 + }, + { + "code": "PT", + "name": "Portugal", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 32.2895, + "west": -31.4648, + "north": 42.1542048, + "east": -6.1902091 + }, + { + "code": "PR", + "name": "Puerto Rico", + "country": "United States", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 17.831509, + "west": -67.998751, + "north": 18.568002, + "east": -65.168503 + }, + { + "code": "QA", + "name": "Qatar", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 24.471118, + "west": 50.7211, + "north": 26.2171, + "east": 51.6769 + }, + { + "code": "CD", + "name": "Republic of the Congo", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -13.4580558, + "west": 12.1454, + "north": 5.3813889, + "east": 31.3208323 + }, + { + "code": "RHZW", + "name": "Rhodesia", + "region": "Eastern Africa", + "continent": "Africa", + "type": "former", + "south": -22.4236835, + "west": 25.2369579, + "north": -15.6161108, + "east": 33.067782 + }, + { + "code": "RO", + "name": "Romania", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 43.6190676, + "west": 20.261466, + "north": 48.265274, + "east": 29.7784 + }, + { + "code": "RU", + "name": "Russia", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 41.185353, + "west": 19.6161, + "north": 82.1673907, + "east": -168.97788 + }, + { + "code": "RW", + "name": "Rwanda", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -2.8266669, + "west": 28.8617752, + "north": -1.0538892, + "east": 30.8944442 + }, + { + "code": "RE", + "name": "Réunion", + "country": "France", + "region": "Eastern Africa", + "continent": "Africa", + "type": "dependent", + "south": -21.4035321, + "west": 55.2097321, + "north": -20.8671529, + "east": 55.8448792 + }, + { + "code": "EH", + "name": "Sahrawi", + "region": "Northern Africa", + "continent": "Aftica", + "type": "unrecognized", + "south": 31.0703727, + "west": 29.7417067, + "north": 31.0755357, + "east": 29.7507411 + }, + { + "code": "BL", + "name": "Saint Barthélemy", + "country": "France", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 17.878453, + "west": -62.911764, + "north": 17.9608, + "east": -62.789425 + }, + { + "code": "SH", + "name": "Saint Helena", + "country": "United Kingdom", + "region": "Western Africa", + "continent": "Africa", + "type": "dependent", + "south": -37.7880814, + "west": -15.4248047, + "north": -7.1008927, + "east": -5.0976562 + }, + { + "code": "KN", + "name": "Saint Kitts and Nevis", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 17.0786101, + "west": -62.86956, + "north": 17.4205891, + "east": -62.5237083 + }, + { + "code": "LC", + "name": "Saint Lucia", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 13.704778, + "west": -61.0812378, + "north": 14.1209276, + "east": -60.8597946 + }, + { + "code": "MF", + "name": "Saint Martin", + "country": "France", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 18.047626, + "west": -63.153246, + "north": 18.125077, + "east": -62.970852 + }, + { + "code": "PM", + "name": "Saint Pierre and Miquelon", + "country": "France", + "region": "Northern America", + "continent": "North America", + "type": "dependent", + "south": 46.7496, + "west": -56.40659, + "north": 47.1425, + "east": -56.12809 + }, + { + "code": "VC", + "name": "Saint Vincent and the Grenadines", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 12.5143467, + "west": -61.4863586, + "north": 13.4136657, + "east": -61.084671 + }, + { + "code": "WS", + "name": "Samoa", + "region": "Polynesia", + "continent": "Oceania", + "type": "sovereign", + "south": -14.0833013, + "west": -172.8108215, + "north": -13.4203448, + "east": -171.4046574 + }, + { + "code": "SM", + "name": "San Marino", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 43.8937645, + "west": 12.4035885, + "north": 43.9921297, + "east": 12.5161577 + }, + { + "code": "SA", + "name": "Saudi Arabia", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 16.379528, + "west": 34.53, + "north": 32.154284, + "east": 55.6667 + }, + { + "code": "GB-SCT", + "name": "Scotland", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 54.631564, + "west": -8.662663, + "north": 60.86165, + "east": -0.712426 + }, + { + "code": "SN", + "name": "Senegal", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 12.2649, + "west": -17.688, + "north": 16.6930544, + "east": -11.348607 + }, + { + "code": "RS", + "name": "Serbia", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 42.231503, + "west": 18.850952, + "north": 46.189446, + "east": 23.0063915 + }, + { + "code": "CSXX", + "name": "Serbia and Montenegro", + "continent": "Europe", + "type": "former", + "south": 28.5906624, + "west": 77.1884148, + "north": 28.5934162, + "east": 77.1918455 + }, + { + "code": "SC", + "name": "Seychelles", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -10.4716073, + "west": 45.9832764, + "north": -4.0766037, + "east": 56.3928223 + }, + { + "code": "SITH", + "name": "Siam", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "former", + "south": 36.3389019, + "west": -82.1661361, + "north": 36.3568759, + "east": -82.1341213 + }, + { + "code": "SL", + "name": "Sierra Leone", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 6.8446, + "west": -13.4033, + "north": 9.9999724, + "east": -10.271651 + }, + { + "code": "SKIN", + "name": "Sikkim", + "region": "Southern Asia", + "continent": "Asia", + "type": "former", + "south": 27.076997, + "west": 88.00499, + "north": 28.128759, + "east": 88.910806 + }, + { + "code": "SG", + "name": "Singapore", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 1.2015, + "west": 103.5805, + "north": 1.474378, + "east": 104.098236 + }, + { + "code": "SX", + "name": "Sint Maarten", + "country": "Netherlands", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 18.047626, + "west": -63.153246, + "north": 18.125077, + "east": -62.970852 + }, + { + "code": "SK", + "name": "Slovakia", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 47.7313888, + "west": 16.833182, + "north": 49.6138051, + "east": 22.5589337 + }, + { + "code": "SI", + "name": "Slovenia", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 45.42151, + "west": 13.3755107, + "north": 46.8766467, + "east": 16.6104836 + }, + { + "code": "SB", + "name": "Solomon Islands", + "region": "Melanesia", + "continent": "Oceania", + "type": "sovereign", + "south": -12.6832149, + "west": 155.1187134, + "north": -6.075011, + "east": 168.0249023 + }, + { + "code": "SO", + "name": "Somalia", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -1.8673, + "west": 40.994373, + "north": 12.3615, + "east": 51.6138 + }, + { + "code": "SO-SO", + "name": "Somaliland", + "region": "Eastern Aftica", + "continent": "Africa", + "type": "unrecognized", + "south": 7.9177934, + "west": 42.6791382, + "north": 11.477937, + "east": 49.0649414 + }, + { + "code": "ZA", + "name": "South Africa", + "region": "Southern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -34.967, + "west": 16.2817, + "north": -22.1253869, + "east": 33.0469 + }, + { + "code": "GS", + "name": "South Georgia and the South Sandwich Islands", + "country": "United Kingdom", + "continent": "South America", + "type": "dependent", + "south": -59.910976, + "west": -38.4301758, + "north": -53.8525266, + "east": -25.4663086 + }, + { + "code": "KR", + "name": "South Korea", + "region": "Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 33.0041, + "west": 124.8541, + "north": 38.634, + "east": 131.1603 + }, + { + "code": "GE-SO", + "name": "South Ossetia", + "region": "Western Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 42.0225, + "west": 43.5796, + "north": 42.7079, + "east": 44.6256 + }, + { + "code": "SD-SS", + "name": "South Sudan", + "region": "Northern Africa", + "continent": "Aftica", + "type": "unrecognized", + "south": 3.4933339, + "west": 21.814939, + "north": 22.2249183, + "east": 38.6938 + }, + { + "code": "YDYE", + "name": "South Yemen", + "region": "Western Asia", + "continent": "Asia", + "type": "former", + "south": 11.7975, + "west": 41.7096, + "north": 19, + "east": 54.679 + }, + { + "code": "SUHH", + "name": "Soviet Union", + "region": "Eastern Europe", + "continent": "Europe", + "type": "former", + "south": 51.2136541, + "west": 51.347512, + "north": 51.2276311, + "east": 51.3795268 + }, + { + "code": "ES", + "name": "Spain", + "region": "Southern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 35.173, + "west": -12.524, + "north": 45.244, + "east": 5.098 + }, + { + "code": "LK", + "name": "Sri Lanka", + "region": "Southern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 5.6816, + "west": 79.2677, + "north": 10.03377, + "east": 82.1448 + }, + { + "code": "SD", + "name": "Sudan", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 3.4933339, + "west": 21.814939, + "north": 22.2249183, + "east": 38.6938 + }, + { + "code": "SR", + "name": "Suriname", + "continent": "South America", + "type": "sovereign", + "south": 1.837306, + "west": -58.070506, + "north": 6.1296, + "east": -53.9429 + }, + { + "code": "SJ", + "name": "Svalbard and Jan Mayen", + "country": "Norway", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 70.4662074, + "west": -10.546875, + "north": 80.9284257, + "east": 34.8046875 + }, + { + "code": "SZ", + "name": "Swaziland", + "region": "Southern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -27.3173633, + "west": 30.7910943, + "north": -25.7185195, + "east": 32.1348445 + }, + { + "code": "SE", + "name": "Sweden", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 55.00598, + "west": 10.5798, + "north": 69.0600235, + "east": 24.1773101 + }, + { + "code": "CH", + "name": "Switzerland", + "region": "Western Europe", + "continent": "Europe", + "type": "sovereign", + "south": 45.81792, + "west": 5.95608, + "north": 47.808381, + "east": 10.49234 + }, + { + "code": "SY", + "name": "Syria", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 32.314097, + "west": 35.6287, + "north": 37.3205689, + "east": 42.376309 + }, + { + "code": "ST", + "name": "São Tomé and Príncipe", + "region": "Middle Africa", + "continent": "Africa", + "type": "sovereign", + "south": -0.0988769, + "west": 6.328125, + "north": 1.8961687, + "east": 7.658844 + }, + { + "code": "TW", + "name": "Taiwan", + "region": "Eastern Asia", + "continent": "Asia", + "type": "unrecognized", + "south": 21.7595, + "west": 118.2071, + "north": 25.5028, + "east": 122.3328 + }, + { + "code": "TJ", + "name": "Tajikistan", + "region": "Central Asia", + "continent": "Asia", + "type": "sovereign", + "south": 36.672037, + "west": 67.342012, + "north": 41.044367, + "east": 75.1539563 + }, + { + "code": "TZ", + "name": "Tanzania", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -11.7408333, + "west": 29.3400003, + "north": -0.9869442, + "east": 40.7813 + }, + { + "code": "TH", + "name": "Thailand", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 5.612787, + "west": 97.343396, + "north": 20.465143, + "east": 105.636812 + }, + { + "code": "TL", + "name": "Timor-Leste", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": -9.5303, + "west": 124.0332, + "north": -8.0484, + "east": 127.4249 + }, + { + "code": "TG", + "name": "Togo", + "region": "Western Africa", + "continent": "Africa", + "type": "sovereign", + "south": 6.0812, + "west": -0.1497214, + "north": 11.1386114, + "east": 1.8090501 + }, + { + "code": "TK", + "name": "Tokelau", + "country": "New Zealand", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -9.5059528, + "west": -172.6625061, + "north": -8.4221117, + "east": -171.0928345 + }, + { + "code": "TO", + "name": "Tonga", + "region": "Polynesia", + "continent": "Oceania", + "type": "sovereign", + "south": -21.8360058, + "west": -175.9570312, + "north": -15.4060237, + "east": -173.2543945 + }, + { + "code": "MD-TR", + "name": "Transnistria", + "region": "Eastern Europe", + "continent": "Europe", + "type": "unrecognized", + "south": 47.0111474, + "west": 28.8940215, + "north": 47.0359047, + "east": 28.8976586 + }, + { + "code": "TT", + "name": "Trinidad and Tobago", + "region": "Carribean", + "continent": "North America", + "type": "sovereign", + "south": 10.0422188, + "west": -61.930593, + "north": 11.3590774, + "east": -60.4926851 + }, + { + "code": "TA", + "name": "Tristan da Cunha", + "country": "United Kingdom", + "region": "Western Africa", + "continent": "Africa", + "type": "dependent", + "south": -37.1701659, + "west": -12.3510361, + "north": -37.0617526, + "east": -12.2169685 + }, + { + "code": "TN", + "name": "Tunisia", + "region": "Northern Africa", + "continent": "Africa", + "type": "sovereign", + "south": 30.2277963, + "west": 7.5223134, + "north": 37.5359, + "east": 11.5992173 + }, + { + "code": "TR", + "name": "Turkey", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 35.8076804, + "west": 25.5377, + "north": 42.3667, + "east": 44.818128 + }, + { + "code": "TM", + "name": "Turkmenistan", + "region": "Central Asia", + "continent": "Asia", + "type": "sovereign", + "south": 35.12876, + "west": 52.3169, + "north": 42.798844, + "east": 66.707353 + }, + { + "code": "TC", + "name": "Turks and Caicos Islands", + "country": "United Kingdom", + "region": "Carribean", + "continent": "Oceania", + "type": "dependent", + "south": 21.1459922, + "west": -72.520752, + "north": 22.0016284, + "east": -71.0595703 + }, + { + "code": "TV", + "name": "Tuvalu", + "region": "Polynesia", + "continent": "Oceania", + "type": "sovereign", + "south": -11.1891796, + "west": 175.5615234, + "north": -5.4300854, + "east": 180 + }, + { + "code": "UG", + "name": "Uganda", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -1.4761108, + "west": 29.5663892, + "north": 4.2186281, + "east": 35.0330493 + }, + { + "code": "UA", + "name": "Ukraine", + "region": "Eastern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 44.2924, + "west": 22.1357201, + "north": 52.379581, + "east": 40.228581 + }, + { + "code": "AE", + "name": "United Arab Emirates", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 22.633219, + "west": 51.4723, + "north": 26.0765, + "east": 56.4395 + }, + { + "code": "GB", + "name": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "sovereign", + "south": 34.5614, + "west": -8.8989, + "north": 60.9157, + "east": 33.916555 + }, + { + "code": "UK", + "name": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "other", + "south": 34.5614, + "west": -8.8989, + "north": 60.9157, + "east": 33.916555 + }, + { + "code": "US", + "name": "United States", + "region": "Northern America", + "continent": "North America", + "type": "sovereign", + "south": 18.7763, + "west": 170.5957, + "north": 71.5388, + "east": -66.8850749 + }, + { + "code": "UM", + "name": "United States Minor Outlying Islands", + "country": "United States", + "type": "dependent", + "south": 17.831509, + "west": -67.998751, + "north": 18.568002, + "east": -65.168503 + }, + { + "code": "PUUM", + "name": "United States Miscellaneous Pacific Islands", + "country": "United States", + "continent": "Oceania", + "type": "former", + "south": 7.0409, + "west": -83.0522411, + "north": 9.7145, + "east": -77.158488 + }, + { + "code": "VI", + "name": "United States Virgin Islands", + "country": "United States", + "region": "Carribean", + "continent": "North America", + "type": "dependent", + "south": 17.623468, + "west": -65.1590949, + "north": 18.4649839, + "east": -64.512674 + }, + { + "code": "HVBF", + "name": "Upper Volta", + "region": "Western Africa", + "continent": "Africa", + "type": "former", + "south": 14.4834948, + "west": 121.0204311, + "north": 14.4846092, + "east": 121.0206846 + }, + { + "code": "UY", + "name": "Uruguay", + "continent": "South America", + "type": "sovereign", + "south": -35.1558, + "west": -58.4750933, + "north": -30.0852147, + "east": -53.0930428 + }, + { + "code": "UZ", + "name": "Uzbekistan", + "region": "Central Asia", + "continent": "Asia", + "type": "sovereign", + "south": 37.172257, + "west": 55.998218, + "north": 45.590075, + "east": 73.148946 + }, + { + "code": "VU", + "name": "Vanuatu", + "region": "Melanesia", + "continent": "Oceania", + "type": "sovereign", + "south": -20.5350773, + "west": 166.0583496, + "north": -12.8064449, + "east": 170.5023193 + }, + { + "code": "VE", + "name": "Venezuela", + "continent": "South America", + "type": "sovereign", + "south": 0.6479338, + "west": -73.351558, + "north": 12.6886, + "east": -59.805666 + }, + { + "code": "VN", + "name": "Vietnam", + "region": "South-Eastern Asia", + "continent": "Asia", + "type": "sovereign", + "south": 8.1952, + "west": 102.14441, + "north": 23.393395, + "east": 109.6765 + }, + { + "code": "WKUM", + "name": "Wake Island", + "country": "United States", + "region": "Micronesia", + "continent": "Oceania", + "type": "former", + "south": -0.389006, + "west": 166.593323, + "north": 28.398027, + "east": -75 + }, + { + "code": "GB-WLS", + "name": "Wales", + "country": "United Kingdom", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 51.3726411, + "west": -5.364147, + "north": 53.436587, + "east": -2.649808 + }, + { + "code": "WF", + "name": "Wallis and Futuna", + "country": "France", + "region": "Polynesia", + "continent": "Oceania", + "type": "dependent", + "south": -14.4187204, + "west": -178.2284546, + "north": -13.1303043, + "east": -176.0971069 + }, + { + "code": "DEDE", + "name": "West Germany", + "region": "Western Europe", + "continent": "Europe", + "type": "former", + "south": 47.270127, + "west": 5.8662579, + "north": 55.0815, + "east": 15.0418321 + }, + { + "code": "YE", + "name": "Yemen", + "region": "Western Asia", + "continent": "Asia", + "type": "sovereign", + "south": 11.7975, + "west": 41.7096, + "north": 19, + "east": 54.679 + }, + { + "code": "YUCS", + "name": "Yugoslavia", + "region": "Southern Europe", + "continent": "Europe", + "type": "former", + "south": 42.231503, + "west": 18.850952, + "north": 46.189446, + "east": 23.0063915 + }, + { + "code": "ZRCD", + "name": "Zaire", + "region": "Middle Africa", + "continent": "Africa", + "type": "former", + "south": -13.4580558, + "west": 12.1454, + "north": 5.3813889, + "east": 31.3208323 + }, + { + "code": "ZM", + "name": "Zambia", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -18.0761122, + "west": 21.9963878, + "north": -8.2032833, + "east": 33.7022219 + }, + { + "code": "ZW", + "name": "Zimbabwe", + "region": "Eastern Africa", + "continent": "Africa", + "type": "sovereign", + "south": -22.4236835, + "west": 25.2369579, + "north": -15.6161108, + "east": 33.067782 + }, + { + "code": "AX", + "name": "Åland", + "country": "Finland", + "region": "Northern Europe", + "continent": "Europe", + "type": "dependent", + "south": 59.968959, + "west": 19.6345568, + "north": 60.427541, + "east": 20.3024036 + } +] \ No newline at end of file