From: Grant Slater Date: Fri, 3 Jun 2016 00:11:05 +0000 (+0100) Subject: imagery: simplify layer/overlay code X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/1dae8c0d4c86396b0a52c14b819271e05f7217db imagery: simplify layer/overlay code --- diff --git a/cookbooks/imagery/resources/layer.rb b/cookbooks/imagery/resources/layer.rb index 8c98e5ddb..343ad6940 100644 --- a/cookbooks/imagery/resources/layer.rb +++ b/cookbooks/imagery/resources/layer.rb @@ -41,29 +41,21 @@ property :overlay, [TrueClass, FalseClass], :default => false property :default_layer, [TrueClass, FalseClass], :default => false action :create do - file "create layer yaml definition" do + file "/srv/imagery/layers/#{site}/#{layer}.yml" do owner "root" group "root" mode 0644 - if new_resource.overlay - path "/srv/imagery/overlays/#{site}/#{layer}.yml" - else - path "/srv/imagery/layers/#{site}/#{layer}.yml" - end content YAML.dump(:name => layer, :title => title || layer, :url => "http://{s}.#{site}/layer/#{layer}/{z}/{x}/{y}.png", :attribution => copyright, :default => default_layer, - :maxZoom => max_zoom) + :maxZoom => max_zoom, + :overlay => overlay) end - file "remove old layer yaml" do - if new_resource.overlay - path "/srv/imagery/layers/#{site}/#{layer}.yml" # remove layer if overlay - else - path "/srv/imagery/overlays/#{site}/#{layer}.yml" # remove overlay if layer - end + file "remove old overlay yaml" do + path "/srv/imagery/overlays/#{site}/#{layer}.yml" action :delete end diff --git a/cookbooks/imagery/templates/default/imagery.js.erb b/cookbooks/imagery/templates/default/imagery.js.erb index 58e9b0fea..fa70ed457 100644 --- a/cookbooks/imagery/templates/default/imagery.js.erb +++ b/cookbooks/imagery/templates/default/imagery.js.erb @@ -1,6 +1,6 @@ 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(); @@ -19,26 +19,20 @@ function createMap(divName) { }); // Add <%= layer[:name] %> to layer switcher + <% if layer[:overlay] -%> layers.addBaseLayer(<%= layer[:name] %>, <%= layer[:title].to_json %>); + <% else %> + layers.addOverlay(<%= 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); - // Zoom to specified bounds - map.fitBounds(<%= @bbox.to_json %>); - return map; }