From: Tom Hughes Date: Sun, 10 Dec 2023 18:50:00 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/4395' X-Git-Tag: live~453 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e272cda34848cb99892f05f388c897c204f08ba2?hp=e108a13843f997a004db586978fb3014165e123c Merge remote-tracking branch 'upstream/pull/4395' --- diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index 5fb8aa111..862148b92 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -48,6 +48,12 @@ class SiteController < ApplicationController def key expires_in 7.days, :public => true + @key = YAML.load_file(Rails.root.join("config/key.yml")) + @key.each_value do |layer_data| + layer_data.each_cons(2) do |entry, next_entry| + entry["max_zoom"] = next_entry["min_zoom"] - 1 if entry["name"] == next_entry["name"] && !entry["max_zoom"] && next_entry["min_zoom"] + end + end render :layout => false end diff --git a/app/views/site/key.html.erb b/app/views/site/key.html.erb index d3da86856..60eff9a44 100644 --- a/app/views/site/key.html.erb +++ b/app/views/site/key.html.erb @@ -1,13 +1,13 @@
- <% YAML.load_file(Rails.root.join("config/key.yml")).each do |name,data| %> - <% data.each do |entry| %> - <%= tag.tr :class => "mapkey-table-entry", :data => { :layer => name, :zoom_min => entry["min_zoom"], :zoom_max => entry["max_zoom"] } do %> + <% @key.each do |layer_name, layer_data| %> + <% layer_data.each do |entry| %> + <%= tag.tr :class => "mapkey-table-entry", :data => { :layer => layer_name, :zoom_min => entry["min_zoom"], :zoom_max => entry["max_zoom"] } do %>
<% if entry["width"] && entry["height"] && entry["fill"] %> <%= image_tag "data:image/svg+xml,#{u("")}" %> <% else %> - <%= image_tag "key/#{name}/#{entry['image']}" %> + <%= image_tag "key/#{layer_name}/#{entry['image']}" %> <% end %> diff --git a/config/key.yml b/config/key.yml index 831453337..5ee24e913 100644 --- a/config/key.yml +++ b/config/key.yml @@ -95,25 +95,40 @@ cyclemap: - { min_zoom: 14, max_zoom: 19, name: bicycle_parking, image: bicycle_parking.png } - { min_zoom: 16, max_zoom: 19, name: toilets, image: toilets.png } opnvkarte: - - { min_zoom: 6, max_zoom: 7, name: rail, width: 52, height: 1, fill: "#868686" } - - { min_zoom: 8, max_zoom: 10, name: rail, width: 52, height: 2, fill: "#868686" } - - { min_zoom: 11, max_zoom: 14, name: rail, image: rail11.svg } - - { min_zoom: 15, max_zoom: 16, name: rail, image: rail15.svg } + - { min_zoom: 6, name: rail, width: 52, height: 1, fill: "#868686" } + - { min_zoom: 8, name: rail, width: 52, height: 2, fill: "#868686" } + - { min_zoom: 11, name: rail, image: rail11.svg } + - { min_zoom: 15, name: rail, image: rail15.svg } - { min_zoom: 17, name: rail, image: rail17.svg } - - { min_zoom: 6, max_zoom: 9, name: train, width: 52, height: 2, fill: "#ffc366" } - - { min_zoom: 10, max_zoom: 11, name: train, width: 52, height: 3, fill: "#ffc366" } - - { min_zoom: 12, name: train, width: 52, height: 4, fill: "#ffc366" } - - { min_zoom: 10, name: light_rail, width: 52, height: 4, fill: "#66ff66" } - - { min_zoom: 10, name: tram_only, width: 52, height: 4, fill: "#3333fe" } - - { min_zoom: 10, name: subway, width: 52, height: 4, fill: "#33339f" } - - { min_zoom: 9, max_zoom: 13, name: ferry, width: 52, height: 2, fill: "#9f339f" } + - { min_zoom: 6, name: train, width: 52, height: 2, fill: "#ffc366" } + - { min_zoom: 10, name: train, width: 52, height: 3, fill: "#ffc366" } + - { min_zoom: 12, name: train, width: 52, height: 4, fill: "#ffc366" } + - { min_zoom: 14, name: train, width: 52, height: 8, fill: "#ffc366" } + - { min_zoom: 16, name: train, width: 52, height: 10, fill: "#ffc366" } + - { min_zoom: 10, name: light_rail, width: 52, height: 3, fill: "#66ff66" } + - { min_zoom: 12, name: light_rail, width: 52, height: 4, fill: "#66ff66" } + - { min_zoom: 14, name: light_rail, width: 52, height: 8, fill: "#66ff66" } + - { min_zoom: 16, name: light_rail, width: 52, height: 10, fill: "#66ff66" } + - { min_zoom: 10, name: tram_only, width: 52, height: 3, fill: "#3333fe" } + - { min_zoom: 12, name: tram_only, width: 52, height: 4, fill: "#3333fe" } + - { min_zoom: 14, name: tram_only, width: 52, height: 8, fill: "#3333fe" } + - { min_zoom: 16, name: tram_only, width: 52, height: 10, fill: "#3333fe" } + - { min_zoom: 10, name: subway, width: 52, height: 3, fill: "#33339f" } + - { min_zoom: 12, name: subway, width: 52, height: 4, fill: "#33339f" } + - { min_zoom: 14, name: subway, width: 52, height: 8, fill: "#33339f" } + - { min_zoom: 16, name: subway, width: 52, height: 10, fill: "#33339f" } + - { min_zoom: 9, name: ferry, width: 52, height: 2, fill: "#9f339f" } - { min_zoom: 14, name: ferry, width: 52, height: 3, fill: "#9f339f" } - - { min_zoom: 10, name: trolleybus, width: 52, height: 4, fill: "#9f3333" } - - { min_zoom: 11, max_zoom: 11, name: bus, width: 52, height: 1, fill: "#fe3333" } - - { min_zoom: 12, max_zoom: 12, name: bus, width: 52, height: 2, fill: "#fe3333" } - - { min_zoom: 13, max_zoom: 13, name: bus, width: 52, height: 3, fill: "#fe3333" } - - { min_zoom: 14, name: bus, width: 52, height: 4, fill: "#fe3333" } - - { min_zoom: 13, max_zoom: 14, name: bus_stop, image: bus_stop13.svg } + - { min_zoom: 10, name: trolleybus, width: 52, height: 3, fill: "#9f3333" } + - { min_zoom: 12, name: trolleybus, width: 52, height: 4, fill: "#9f3333" } + - { min_zoom: 14, name: trolleybus, width: 52, height: 8, fill: "#9f3333" } + - { min_zoom: 16, name: trolleybus, width: 52, height: 10, fill: "#9f3333" } + - { min_zoom: 11, name: bus, width: 52, height: 1, fill: "#fe3333" } + - { min_zoom: 12, name: bus, width: 52, height: 2, fill: "#fe3333" } + - { min_zoom: 13, name: bus, width: 52, height: 3, fill: "#fe3333" } + - { min_zoom: 14, name: bus, width: 52, height: 4, fill: "#fe3333" } + - { min_zoom: 16, name: bus, width: 52, height: 10, fill: "#fe3333" } + - { min_zoom: 13, name: bus_stop, image: bus_stop13.svg } - { min_zoom: 15, name: bus_stop, image: bus_stop15.svg } - - { min_zoom: 13, max_zoom: 14, name: stop, image: stop13.svg } + - { min_zoom: 13, name: stop, image: stop13.svg } - { min_zoom: 15, name: stop, image: stop15.svg }