diff --git a/js/downloads.js b/js/downloads.js
index a14a0a9..0da6fc6 100644
--- a/js/downloads.js
+++ b/js/downloads.js
@@ -96,7 +96,7 @@ document.addEventListener("DOMContentLoaded", function() {
var country = document.querySelector('#country');
var city = document.querySelector('#city');
- if(city && country) {
+ if(country && city) {
var metadataUrl = "https://s3-eu-west-1.amazonaws.com/osm2vectortiles-downloads/metadata.xml"; // https://osm2vectortiles-downloads.os.zhdk.cloud.switch.ch/?prefix=v1.0/extracts/
getBucketMetadata(metadataUrl, function(bucketMetadata) {
var template = '
';
diff --git a/js/maps.js b/js/maps.js
index 9058769..9474096 100644
--- a/js/maps.js
+++ b/js/maps.js
@@ -12,79 +12,24 @@ document.addEventListener("DOMContentLoaded", function() {
zoom: 11
}).addControl(new mapboxgl.Navigation());
vectorMap.scrollZoom.disable();
- var selectedStyle = 0;
+ window.selectedStyle = 0;
}
}
- if(bright) {
- bright.onclick = function(e) {
- e.preventDefault();
- e.stopPropagation();
- vectorMap.setStyle('https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/bright-v9-cdn.json');
- document.querySelector("#bright").style.display = "block";
- document.querySelector("#basic").style.display = "none";
- document.querySelector("#streets").style.display = "none";
- document.querySelector("#dark").style.display = "none";
- document.querySelector("#light").style.display = "none";
- selectedStyle = 0;
- }
- }
var basic = document.getElementById("vector-basic");
- if(basic) {
- basic.onclick = function(e) {
- e.preventDefault();
- e.stopPropagation();
- vectorMap.setStyle('https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/basic-v9-cdn.json');
- document.querySelector("#bright").style.display = "none";
- document.querySelector("#basic").style.display = "block";
- document.querySelector("#streets").style.display = "none";
- document.querySelector("#dark").style.display = "none";
- document.querySelector("#light").style.display = "none";
- selectedStyle = 1;
- }
- }
var streets = document.getElementById("vector-streets");
- if(streets) {
- streets.onclick = function(e) {
- e.preventDefault();
- e.stopPropagation();
- vectorMap.setStyle('https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/streets-v9-cdn.json');
- document.querySelector("#bright").style.display = "none";
- document.querySelector("#basic").style.display = "none";
- document.querySelector("#streets").style.display = "block";
- document.querySelector("#dark").style.display = "none";
- document.querySelector("#light").style.display = "none";
- selectedStyle = 2;
- }
- }
var dark = document.getElementById("vector-dark");
- if(dark) {
- dark.onclick = function(e) {
- e.preventDefault();
- e.stopPropagation();
- vectorMap.setStyle('https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/dark-v9-cdn.json');
- document.querySelector("#bright").style.display = "none";
- document.querySelector("#basic").style.display = "none";
- document.querySelector("#streets").style.display = "none";
- document.querySelector("#dark").style.display = "block";
- document.querySelector("#light").style.display = "none";
- selectedStyle = 3;
- }
- }
var light = document.getElementById("vector-light");
- if(light) {
- light.onclick = function(e) {
- e.preventDefault();
- e.stopPropagation();
- vectorMap.setStyle('https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/light-v9-cdn.json');
- document.querySelector("#bright").style.display = "none";
- document.querySelector("#basic").style.display = "none";
- document.querySelector("#streets").style.display = "none";
- document.querySelector("#dark").style.display = "none";
- document.querySelector("#light").style.display = "block";
- selectedStyle = 4;
- }
+ if(bright && basic && streets && dark && light) {
+ var styles = ["#bright", "#basic", "#streets", "#dark", "#light"];
+ var styleUrl = "https://raw.githubusercontent.com/osm2vectortiles/mapbox-gl-styles/master/styles/";
+ addOnClickEventListener(bright, vectorMap, styleUrl + "bright-v9-cdn.json", 0, styles);
+ addOnClickEventListener(basic, vectorMap, styleUrl + "basic-v9-cdn.json", 1, styles);
+ addOnClickEventListener(streets, vectorMap, styleUrl + "streets-v9-cdn.json", 2, styles);
+ addOnClickEventListener(dark, vectorMap, styleUrl + "dark-v9-cdn.json", 3, styles);
+ addOnClickEventListener(light, vectorMap, styleUrl + "light-v9-cdn.json", 4, styles);
}
+
// instantiate map clipboard
new Clipboard('.map-clipboard-button', {
text: function(trigger) {
@@ -93,6 +38,22 @@ document.addEventListener("DOMContentLoaded", function() {
});
});
+function addOnClickEventListener(element, vectorMap, styleUrl, selectedStyle, styles) {
+ element.onclick = function(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ vectorMap.setStyle(styleUrl);
+ window.selectedStyle = selectedStyle;
+ for(var i = 0; i < styles.length; i++) {
+ if(selectedStyle === i) {
+ document.querySelector(styles[i]).style.display = "block";
+ } else {
+ document.querySelector(styles[i]).style.display = "none";
+ }
+ }
+ }
+}
+
function showCopiedHint() {
var mapClipboardText = document.querySelector("#map-clipboard-text")
mapClipboardText.innerText = "Copied to clipboard!";