diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js index f478f4351b..cff0f60273 100644 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@ -18,8 +18,6 @@ L.OSM.Map = L.Map.extend({ this.baseLayers = []; for (const layerDefinition of OSM.LAYER_DEFINITIONS) { - if (layerDefinition.apiKeyId && !OSM[layerDefinition.apiKeyId]) continue; - let layerConstructor = L.OSM.TileLayer; const layerOptions = {}; @@ -30,8 +28,6 @@ L.OSM.Map = L.Map.extend({ layerOptions.keyid = value; } else if (property === "nameId") { layerOptions.name = I18n.t(`javascripts.map.base.${value}`); - } else if (property === "apiKeyId") { - layerOptions.apikey = OSM[value]; } else if (property === "leafletOsmId") { layerConstructor = L.OSM[value]; } else { diff --git a/app/assets/javascripts/osm.js.erb b/app/assets/javascripts/osm.js.erb index e9c09c79f9..06a972fc7c 100644 --- a/app/assets/javascripts/osm.js.erb +++ b/app/assets/javascripts/osm.js.erb @@ -23,15 +23,7 @@ OSM = { FOSSGIS_VALHALLA_URL: <%= Settings.fossgis_valhalla_url.to_json %>, DEFAULT_LOCALE: <%= I18n.default_locale.to_json %>, -<% if Settings.key?(:thunderforest_key) %> - THUNDERFOREST_KEY: <%= Settings.thunderforest_key.to_json %>, -<% end %> - -<% if Settings.key?(:tracestrack_key) %> - TRACESTRACK_KEY: <%= Settings.tracestrack_key.to_json %>, -<% end %> - - LAYER_DEFINITIONS: <%= YAML.load_file(Rails.root.join("config/layers.yml")).to_json %>, + LAYER_DEFINITIONS: <%= MapLayers::definitions("config/layers.yml").to_json %>, LAYERS_WITH_MAP_KEY: <%= YAML.load_file(Rails.root.join("config/key.yml")).keys.to_json %>, MARKER_GREEN: <%= image_path("marker-green.png").to_json %>, diff --git a/config/layers.yml b/config/layers.yml index 3b5bc944fe..690c402bfb 100644 --- a/config/layers.yml +++ b/config/layers.yml @@ -25,7 +25,7 @@ code: "C" keyId: "cyclemap" nameId: "cycle_map" - apiKeyId: "THUNDERFOREST_KEY" + apiKeyId: "thunderforest_key" credit: id: "thunderforest_credit" children: @@ -37,7 +37,7 @@ code: "T" keyId: "transportmap" nameId: "transport_map" - apiKeyId: "THUNDERFOREST_KEY" + apiKeyId: "thunderforest_key" credit: id: "thunderforest_credit" children: @@ -49,7 +49,7 @@ code: "P" keyId: "tracestracktopo" nameId: "tracestracktop_topo" - apiKeyId: "TRACESTRACK_KEY" + apiKeyId: "tracestrack_key" credit: id: "tracestrack_credit" children: diff --git a/lib/map_layers.rb b/lib/map_layers.rb new file mode 100644 index 0000000000..3edb8f2f51 --- /dev/null +++ b/lib/map_layers.rb @@ -0,0 +1,15 @@ +module MapLayers + def self.definitions(layers_filename) + YAML.load_file(Rails.root.join(layers_filename)).filter_map do |layer| + if layer["apiKeyId"] + if Settings.key?(layer["apiKeyId"].to_sym) + layer["apikey"] = Settings[layer["apiKeyId"]] + layer.delete "apiKeyId" + layer + end + else + layer + end + end + end +end