X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/32ded0c2d4fe1519cbc94a6f4ae70452b6d3d6f3..34ba424402efafaca72944ad358f0cd227a7b8fd:/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 fc83f6a1f..e5c289cfd 100644
--- a/cookbooks/imagery/templates/default/imagery.js.erb
+++ b/cookbooks/imagery/templates/default/imagery.js.erb
@@ -1,35 +1,45 @@
+<% require 'uri' %>
function createMap(divName) {
// Create a map
- var map = L.map(divName);
+ var map = L.map(divName, {
+ worldCopyJump: true
+ }).fitBounds(<%= @bbox.to_json %>);
// Create a layer switcher
- var layers = L.control.layers();
+ var layers = L.control.layers(null, null, {collapsed:false}).addTo(map);
// Add OpenStreetMap layer
- layers.addBaseLayer(L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
- attribution: "© OpenStreetMap and contributors, under an open license",
+ layers.addBaseLayer(L.tileLayer("https://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| -%>
- <% @layers.each do |layer| -%>
- // Add <%= layer[:name].to_json %> layer
- layers.addBaseLayer(L.tileLayer(<%= layer[:url].to_json %>, {
- attribution: <%= layer[:attribution].to_json %>
- }), <%= layer[:name].to_json %>);
+ // Create <%= layer[:name] %> layer
+ var <%= layer[:name].gsub("-", "_") %> = 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].gsub("-", "_") %>, <%= layer[:title].to_json %>);
+ <% else %>
+ layers.addBaseLayer(<%= layer[:name].gsub("-", "_") %>, <%= layer[:title].to_json %>);
<% end -%>
- <% @overlays.each do |layer| -%>
- // Add <%= layer[:name].to_json %> layer
- layers.addOverlay(L.tileLayer(<%= layer[:url].to_json %>, {
- attribution: <%= layer[:attribution].to_json %>
- }), <%= layer[:name].to_json %>);
+ <% if layer[:default] -%>
+ // Add <%= layer[:name] %> to map
+ <%= layer[:name].gsub("-", "_") %>.addTo(map);
<% end -%>
- // Add the layer switch to the mao
- layers.addTo(map);
+ <% end -%>
+
+ // Add the permalink control
+ map.addControl(new L.Control.Permalink());
- // Zoom to specified bounds
- map.fitBounds(<%= @bbox.to_json %>);
+ var lc = L.control.locate({
+ position: 'topright'
+ }).addTo(map);
return map;
}