X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7fa1041340e3f1ad1074bfd8376b39535b862a69..6a2fda5a99f5a06c65213adabb750c836ac90e11:/app/views/export/start.rjs diff --git a/app/views/export/start.rjs b/app/views/export/start.rjs index 5e4a2b91c..47cf9ce6b 100644 --- a/app/views/export/start.rjs +++ b/app/views/export/start.rjs @@ -3,6 +3,8 @@ page.replace_html :sidebar_content, :partial => 'start' page << < 0.25) { $("format_osm").disabled = true; $("format_osm").checked = false; - - formatChanged(); + $("export_osm").style.display = "none"; } else { $("format_osm").disabled = false; } - - var max_zoom = maxOsmarenderZoom(); + var max_scale = maxMapnikScale(); - $("mapnik_max_scale").innerHTML = roundScale(max_scale); + if ($("format_mapnik").checked && $("mapnik_scale").value < max_scale) { + $("export_commit").disabled = true; + } else { + $("export_commit").disabled = false; + } - mapnikSizeChanged(); + $("mapnik_max_scale").innerHTML = roundScale(max_scale); + + var max_zoom = maxOsmarenderZoom(); for (var o = 0; o < $("osmarender_zoom").options.length; o++) { var option = $("osmarender_zoom").options[o]; @@ -157,6 +225,80 @@ page << <'; + + // Create "larger map" link + var center = bounds.getCenterLonLat(); + var epsg4326 = new OpenLayers.Projection("EPSG:4326"); + var epsg900913 = new OpenLayers.Projection("EPSG:900913"); + + bounds.transform(epsg4326, epsg900913); + var zoom = map.getZoomForExtent(bounds); + + var layers = getMapLayers(); + + html += '
View Larger Map'; + + $("export_html_text").value = html; + + if ($("format_html").checked) { + $("export_html_text").select(); + } + } + + function formatChanged() { + $("export_commit").style.display = "inline"; + + if ($("format_osm").checked) { + $("export_osm").style.display = "inline"; + } else { + $("export_osm").style.display = "none"; + } + + if ($("format_mapnik").checked) { + $("mapnik_scale").value = roundScale(map.getScale()); + $("export_mapnik").style.display = "inline"; + } else { + $("export_mapnik").style.display = "none"; + } + + if ($("format_osmarender").checked) { + var zoom = Math.min(map.getZoom(), maxOsmarenderZoom()); + + $("osmarender_zoom").options.selectedIndex = zoom - 4; + $("export_osmarender").style.display = "inline"; + } else { + $("export_osmarender").style.display = "none"; + } + + if ($("format_html").checked) { + $("export_html").style.display = "inline"; + $("export_commit").style.display = "none"; + $("export_html_text").select(); + } else { + $("export_html").style.display = "none"; + clearMarker(); + } + + validateControls(); + } + + $("format_osm").onclick = formatChanged; + $("format_mapnik").onclick = formatChanged; + $("format_osmarender").onclick = formatChanged; + $("format_html").onclick = formatChanged; + function maxMapnikScale() { var bounds = new OpenLayers.Bounds($("minlon").value, $("minlat").value, $("maxlon").value, $("maxlat").value); var epsg4326 = new OpenLayers.Projection("EPSG:4326"); @@ -203,12 +345,7 @@ page << <