X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/e3f8464ccd3ac34ed6629b03f60509ac3a2fedf8..3e3fe7718ee69bb95908dbe474fb4b15d80d329a:/cookbooks/imagery/templates/default/imagery.js.erb
diff --git a/cookbooks/imagery/templates/default/imagery.js.erb b/cookbooks/imagery/templates/default/imagery.js.erb
index a728ef60e..35168e4bb 100644
--- a/cookbooks/imagery/templates/default/imagery.js.erb
+++ b/cookbooks/imagery/templates/default/imagery.js.erb
@@ -2,37 +2,50 @@ function createMap(divName) {
// Create a map
var map = L.map(divName).fitBounds(<%= @bbox.to_json %>);
- // Create a layer switcher
- var layers = L.control.layers(null, null, {collapsed:false});
+ // Create layer and overlays variables
+ var leaflet_layers = {}
+ var leaflet_overlays = {}
// Add OpenStreetMap layer
- layers.addBaseLayer(L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
+ leaflet_layers["OpenStreetMap"] = L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
attribution: "© OpenStreetMap and contributors, under an open license",
maxZoom: 19
- }), "OpenStreetMap");
+ });
<% @layers.sort_by { |layer| layer[:name] }.each do |layer| -%>
- // Create <%= layer[:name] %> layer
- var <%= layer[:name] %> = L.tileLayer(<%= layer[:url].to_json %>, {
+
+ <% if layer[:overlay] -%>
+ // Create <%= layer[:name] %> overlay
+ var leaflet_overlays[<%= layer[:name] %>] = L.tileLayer(<%= layer[:url].to_json %>, {
attribution: <%= layer[:attribution].to_json %>,
maxZoom: <%= layer[:maxZoom].to_json %>
});
- // Add <%= layer[:name] %> to layer switcher
- <% if layer[:overlay] -%>
- layers.addOverlay(<%= layer[:name] %>, <%= layer[:title].to_json %>);
- <% else %>
- layers.addBaseLayer(<%= layer[:name] %>, <%= layer[:title].to_json %>);
+ <% if layer[:default] -%>
+ // Add <%= layer[:name] %> to map
+ leaflet_overlays[<%= layer[:name] %>].addTo(map);
<% end -%>
+ <% else %>
+ // Create <%= layer[:name] %> layer
+ var leaflet_layers[<%= layer[:name] %>] = L.tileLayer(<%= layer[:url].to_json %>, {
+ attribution: <%= layer[:attribution].to_json %>,
+ maxZoom: <%= layer[:maxZoom].to_json %>
+ });
+
<% if layer[:default] -%>
// Add <%= layer[:name] %> to map
- <%= layer[:name] %>.addTo(map);
+ leaflet_layers[<%= layer[:name] %>].addTo(map);
+ <% end -%>
+
<% end -%>
<% end -%>
+ // Create a layer switcher
+ var layers = L.control.layers(leaflet_layers, leaflet_overlays, {collapsed:false});
+
// Add the layer switch to the mao
layers.addTo(map);
-
+ map.addControl(new L.Control.Permalink({text: 'Permalink', layers: leaflet_layers, overlays: leaflet_overlays}));
return map;
}