X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5ff86db265393bbe806ddd3cc52b06a9f62a0619..22594361d5abd2a6ee18e290058d9d39d7d761ec:/app/views/export/start.rjs diff --git a/app/views/export/start.rjs b/app/views/export/start.rjs index b53d4ed4f..abf9e671d 100644 --- a/app/views/export/start.rjs +++ b/app/views/export/start.rjs @@ -1,8 +1,10 @@ -page.replace_html :sidebar_title, 'Export' +page.replace_html :sidebar_title, t('export.start_rjs.export') page.replace_html :sidebar_content, :partial => 'start' page << < 0.25) { - $("format_osm").disabled = true; - $("format_osm").checked = false; - $("export_osm").style.display = "none"; + if (bounds.getWidth() * bounds.getHeight() > #{MAX_REQUEST_AREA}) { + $("export_osm_too_large").style.display = "block"; } else { - $("format_osm").disabled = false; + $("export_osm_too_large").style.display = "none"; } var max_scale = maxMapnikScale(); - if ($("format_mapnik").checked && $("mapnik_scale").value < max_scale) { + if ($("format_osm").checked && bounds.getWidth() * bounds.getHeight() > #{MAX_REQUEST_AREA}) { + $("export_commit").disabled = true; + } else if ($("format_mapnik").checked && $("mapnik_scale").value < max_scale) { $("export_commit").disabled = true; } else { $("export_commit").disabled = false; @@ -160,23 +225,41 @@ page << <'; - $("export_html_text").value = html; + function htmlUrlChanged() { + var bounds = new OpenLayers.Bounds($("minlon").value, $("minlat").value, $("maxlon").value, $("maxlat").value); + var layerName = map.baseLayer.keyid; + var url = "http://#{SERVER_URL}/export/embed.html?bbox=" + bounds.toBBOX() + "&layer=" + layerName; + var markerUrl = ""; + + if ($("marker_lat").value && $("marker_lon").value) { + markerUrl = "&mlat=" + $("marker_lat").value + "&mlon=" + $("marker_lon").value; + url += "&marker=" + $("marker_lat").value + "," + $("marker_lon").value; + } + + var html = ''; + + // 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 += '
'+"#{html_escape_unicode(I18n.t('export.start_rjs.view_larger_map'))}"+''; + + $("export_html_text").value = html; + + if ($("format_html").checked) { + $("export_html_text").select(); + } } - $("html_marker").onclick = htmlBoundsChanged; function formatChanged() { $("export_commit").style.display = "inline"; + if ($("format_osm").checked) { $("export_osm").style.display = "inline"; } else { @@ -198,13 +281,16 @@ page << <