function createMap(divName) { // Create a map var map = L.map(divName); // Create a layer switcher var layers = L.control.layers(); // Add OpenStreetMap layer layers.addBaseLayer(L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { attribution: "© OpenStreetMap and contributors, under an open license", maxZoom: 19 }), "OpenStreetMap"); <% @layers.sort_by { |layer| layer[:name] }.each do |layer| -%> // Add <%= layer[:name].to_json %> layer layers.addBaseLayer(L.tileLayer(<%= layer[:url].to_json %>, { attribution: <%= layer[:attribution].to_json %>, maxZoom: <%= layer[:maxZoom].to_json %> }), <%= layer[:name].to_json %>); <% end -%> <% @overlays.sort_by { |layer| layer[:name] }.each do |layer| -%> // Add <%= layer[:name].to_json %> layer layers.addOverlay(L.tileLayer(<%= layer[:url].to_json %>, { attribution: <%= layer[:attribution].to_json %>, maxZoom: <%= layer[:maxZoom].to_json %> }), <%= layer[:name].to_json %>); <% end -%> // Add the layer switch to the mao layers.addTo(map); // Zoom to specified bounds map.fitBounds(<%= @bbox.to_json %>); return map; }