X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/f82e681ec8b5f3f30ad0c66dc869290d378c5710..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 35168e4bb..e5c289cfd 100644 --- a/cookbooks/imagery/templates/default/imagery.js.erb +++ b/cookbooks/imagery/templates/default/imagery.js.erb @@ -1,51 +1,45 @@ +<% require 'uri' %> function createMap(divName) { // Create a map - var map = L.map(divName).fitBounds(<%= @bbox.to_json %>); + var map = L.map(divName, { + worldCopyJump: true + }).fitBounds(<%= @bbox.to_json %>); - // Create layer and overlays variables - var leaflet_layers = {} - var leaflet_overlays = {} + // Create a layer switcher + var layers = L.control.layers(null, null, {collapsed:false}).addTo(map); // Add OpenStreetMap layer - leaflet_layers["OpenStreetMap"] = 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| -%> - <% if layer[:overlay] -%> - // Create <%= layer[:name] %> overlay - var leaflet_overlays[<%= layer[:name] %>] = L.tileLayer(<%= layer[:url].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 %> }); - <% if layer[:default] -%> - // Add <%= layer[:name] %> to map - leaflet_overlays[<%= layer[:name] %>].addTo(map); - <% end -%> - + // Add <%= layer[:name] %> to layer switcher + <% if layer[:overlay] -%> + layers.addOverlay(<%= layer[:name].gsub("-", "_") %>, <%= layer[:title].to_json %>); <% 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 %> - }); + layers.addBaseLayer(<%= layer[:name].gsub("-", "_") %>, <%= layer[:title].to_json %>); + <% end -%> <% if layer[:default] -%> // Add <%= layer[:name] %> to map - leaflet_layers[<%= layer[:name] %>].addTo(map); - <% end -%> - + <%= layer[:name].gsub("-", "_") %>.addTo(map); <% end -%> <% end -%> - // Create a layer switcher - var layers = L.control.layers(leaflet_layers, leaflet_overlays, {collapsed:false}); + // Add the permalink control + map.addControl(new L.Control.Permalink()); + + var lc = L.control.locate({ + position: 'topright' + }).addTo(map); - // 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; }