]> git.openstreetmap.org Git - chef.git/blob - cookbooks/imagery/templates/default/imagery.js.erb
imagery: escape layer name in js
[chef.git] / cookbooks / imagery / templates / default / imagery.js.erb
1 <% require 'uri' %>
2 function createMap(divName) {
3   // Create a map
4   var map = L.map(divName, {
5     worldCopyJump: true
6   }).fitBounds(<%= @bbox.to_json %>);
7
8   // Create a layer switcher
9   var layers = L.control.layers(null, null, {collapsed:false}).addTo(map);
10
11   // Add OpenStreetMap layer
12   layers.addBaseLayer(L.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", {
13     attribution: "© <a target=\"_parent\" href=\"https://www.openstreetmap.org\">OpenStreetMap</a> and contributors, under an <a target=\"_parent\" href=\"https://www.openstreetmap.org/copyright\">open license</a>",
14     maxZoom: 19
15   }), "OpenStreetMap");
16   <% @layers.sort_by { |layer| layer[:name] }.each do |layer| -%>
17
18   // Create <%= layer[:name] %> layer
19   var <%= layer[:name].gsub("-", "_") %> = L.tileLayer(<%= layer[:url].to_json %>, {
20     attribution: <%= layer[:attribution].to_json %>,
21     maxZoom: <%= layer[:maxZoom].to_json %>
22   });
23
24   // Add <%= layer[:name] %> to layer switcher
25   <% if layer[:overlay] -%>
26   layers.addOverlay(<%= layer[:name].gsub("-", "_") %>, <%= layer[:title].to_json %>);
27   <% else %>
28   layers.addBaseLayer(<%= layer[:name].gsub("-", "_") %>, <%= layer[:title].to_json %>);
29   <% end -%>
30
31   <% if layer[:default] -%>
32   // Add <%= layer[:name] %> to map
33   <%= layer[:name].gsub("-", "_") %>.addTo(map);
34   <% end -%>
35   <% end -%>
36
37   // Add the permalink control
38   map.addControl(new L.Control.Permalink());
39
40   var lc = L.control.locate({
41     position: 'topright'
42   }).addTo(map);
43
44   return map;
45 }