X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/cc6b107e2e4aa6d7b882d4fb626a1a80a41104c8..2bfb0ef07fb64314f5c4ded641a8c280df9c1d0b:/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 58e9b0fea..e29d86342 100644 --- a/cookbooks/imagery/templates/default/imagery.js.erb +++ b/cookbooks/imagery/templates/default/imagery.js.erb @@ -1,17 +1,19 @@ 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| -%> + // Create <%= layer[:name] %> layer var <%= layer[:name] %> = L.tileLayer(<%= layer[:url].to_json %>, { attribution: <%= layer[:attribution].to_json %>, @@ -19,26 +21,24 @@ function createMap(divName) { }); // 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 %>); + <% end -%> <% if layer[:default] -%> // Add <%= layer[:name] %> to map <%= layer[:name] %>.addTo(map); <% end -%> <% end -%> - <% @overlays.sort_by { |layer| layer[:name] }.each do |layer| -%> - // Add <%= layer[:name] %> to layer switcher - layers.addOverlay(L.tileLayer(<%= layer[:url].to_json %>, { - attribution: <%= layer[:attribution].to_json %>, - maxZoom: <%= layer[:maxZoom].to_json %> - }), <%= layer[:title].to_json %>); - <% end -%> - // Add the layer switch to the mao - layers.addTo(map); + // 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; }