Skip to content

Commit 25279c4

Browse files
committed
Put api keys directly in js layer definitions
Also don't generate definitions for layers that have require missing api keys.
1 parent 2882a65 commit 25279c4

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

app/assets/javascripts/leaflet.map.js

+4-10
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,13 @@ L.OSM.Map = L.Map.extend({
1818
this.baseLayers = [];
1919

2020
for (const layerDefinition of OSM.LAYER_DEFINITIONS) {
21-
if (layerDefinition.apiKeyId && !OSM[layerDefinition.apiKeyId]) continue;
22-
23-
const layerOptions = {
21+
const layer = new L.OSM[layerDefinition.leafletOsmId]({
2422
attribution: makeAttribution(layerDefinition.credit),
2523
code: layerDefinition.code,
2624
keyid: layerDefinition.keyId,
27-
name: I18n.t(`javascripts.map.base.${layerDefinition.nameId}`)
28-
};
29-
if (layerDefinition.apiKeyId) {
30-
layerOptions.apikey = OSM[layerDefinition.apiKeyId];
31-
}
32-
33-
const layer = new L.OSM[layerDefinition.leafletOsmId](layerOptions);
25+
name: I18n.t(`javascripts.map.base.${layerDefinition.nameId}`),
26+
apikey: layerDefinition.apiKey
27+
});
3428
this.baseLayers.push(layer);
3529
}
3630

app/assets/javascripts/osm.js.erb

+15-9
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,21 @@ OSM = {
2323
FOSSGIS_VALHALLA_URL: <%= Settings.fossgis_valhalla_url.to_json %>,
2424
DEFAULT_LOCALE: <%= I18n.default_locale.to_json %>,
2525

26-
<% if Settings.key?(:thunderforest_key) %>
27-
THUNDERFOREST_KEY: <%= Settings.thunderforest_key.to_json %>,
28-
<% end %>
29-
30-
<% if Settings.key?(:tracestrack_key) %>
31-
TRACESTRACK_KEY: <%= Settings.tracestrack_key.to_json %>,
32-
<% end %>
33-
34-
LAYER_DEFINITIONS: <%= YAML.load_file(Rails.root.join("config/layers.yml")).to_json %>,
26+
<%
27+
layers = YAML.load_file(Rails.root.join("config/layers.yml")).filter_map do |layer|
28+
if layer["apiKeyId"]
29+
if Settings.key?(layer["apiKeyId"].to_sym)
30+
layer["apiKey"] = Settings[layer["apiKeyId"]]
31+
layer.delete "apiKeyId"
32+
layer
33+
end
34+
else
35+
layer
36+
end
37+
end
38+
%>
39+
40+
LAYER_DEFINITIONS: <%= layers.to_json %>,
3541
LAYERS_WITH_MAP_KEY: <%= YAML.load_file(Rails.root.join("config/key.yml")).keys.to_json %>,
3642

3743
MARKER_GREEN: <%= image_path("marker-green.png").to_json %>,

config/layers.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
code: "C"
2626
keyId: "cyclemap"
2727
nameId: "cycle_map"
28-
apiKeyId: "THUNDERFOREST_KEY"
28+
apiKeyId: "thunderforest_key"
2929
credit:
3030
id: "thunderforest_credit"
3131
children:
@@ -37,7 +37,7 @@
3737
code: "T"
3838
keyId: "transportmap"
3939
nameId: "transport_map"
40-
apiKeyId: "THUNDERFOREST_KEY"
40+
apiKeyId: "thunderforest_key"
4141
credit:
4242
id: "thunderforest_credit"
4343
children:
@@ -49,7 +49,7 @@
4949
code: "P"
5050
keyId: "tracestracktopo"
5151
nameId: "tracestracktop_topo"
52-
apiKeyId: "TRACESTRACK_KEY"
52+
apiKeyId: "tracestrack_key"
5353
credit:
5454
id: "tracestrack_credit"
5555
children:

0 commit comments

Comments
 (0)