X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5ff86db265393bbe806ddd3cc52b06a9f62a0619..2d7fa37bd26ae700a3e59f3377d0dc6aa596789a:/app/views/export/start.rjs diff --git a/app/views/export/start.rjs b/app/views/export/start.rjs index b53d4ed4f..3c6722044 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) { + if (bounds.getWidth() * bounds.getHeight() > #{APP_CONFIG['max_request_area']}) { $("format_osm").disabled = true; $("format_osm").checked = false; $("export_osm").style.display = "none"; @@ -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.name.toLowerCase(); + 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 << <