function createMap(divName) { // Create a map var map = L.map(divName).fitBounds(<%= @bbox.to_json %>); // Create layer and overlays variables var leaflet_layers = {} var leaflet_overlays = {} // 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", maxZoom: 19 }); <% @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 %>, { 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 -%> <% 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 %> }); <% if layer[:default] -%> // Add <%= layer[:name] %> to map leaflet_layers[<%= layer[:name] %>].addTo(map); <% end -%> <% end -%> <% end -%> // Create a layer switcher var layers = L.control.layers(leaflet_layers, leaflet_overlays, {collapsed:false}); // 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; }