X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/32ded0c2d4fe1519cbc94a6f4ae70452b6d3d6f3..1e926be36acec04740f5453abf8c9febf274ea60:/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..a728ef60e 100644 --- a/cookbooks/imagery/templates/default/imagery.js.erb +++ b/cookbooks/imagery/templates/default/imagery.js.erb @@ -1,9 +1,9 @@ function createMap(divName) { // Create a map - var map = L.map(divName); + var map = L.map(divName).fitBounds(<%= @bbox.to_json %>); // Create a layer switcher - var layers = L.control.layers(); + var layers = L.control.layers(null, null, {collapsed:false}); // Add OpenStreetMap layer layers.addBaseLayer(L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { @@ -11,25 +11,28 @@ function createMap(divName) { maxZoom: 19 }), "OpenStreetMap"); - <% @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 %>); + <% @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 %>, + 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 %>); <% 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] %>.addTo(map); <% end -%> + <% end -%> + // Add the layer switch to the mao layers.addTo(map); - // Zoom to specified bounds - map.fitBounds(<%= @bbox.to_json %>); - return map; }