From: Tom Hughes Date: Tue, 29 Apr 2008 17:11:22 +0000 (+0000) Subject: Cosmetic tidy up, and fix hardcoding of server name. X-Git-Tag: live~7827^2~8 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/f2ae082a1f360c25621f73dd872c746659c61ef2 Cosmetic tidy up, and fix hardcoding of server name. --- diff --git a/app/views/export/_start.rhtml b/app/views/export/_start.rhtml index 83d747e8d..891ec3600 100644 --- a/app/views/export/_start.rhtml +++ b/app/views/export/_start.rhtml @@ -18,13 +18,13 @@

- <%= radio_button_tag("format", "osm") %>OpenStreetMap XML Data + <%= radio_button_tag("format", "osm") %> OpenStreetMap XML Data
- <%= radio_button_tag("format", "mapnik") %>Mapnik Image + <%= radio_button_tag("format", "mapnik") %> Mapnik Image
- <%= radio_button_tag("format", "osmarender") %>Osmarender Image + <%= radio_button_tag("format", "osmarender") %> Osmarender Image
- <%= radio_button_tag("format", "html") %>Embeddable HTML + <%= radio_button_tag("format", "html") %> Embeddable HTML

@@ -57,17 +57,14 @@

Options

-

- <%= check_box_tag("html_marker", "true") %> Include Marker on Map -

+
+

<%= check_box_tag("html_marker", "true") %> Include Marker on Map

+
+

Output

-

- -

-

- Paste HTML to embed in website -

+

+

Paste HTML to embed in website

diff --git a/app/views/export/start.rjs b/app/views/export/start.rjs index 52fd61e60..375c0ab39 100644 --- a/app/views/export/start.rjs +++ b/app/views/export/start.rjs @@ -109,7 +109,7 @@ page << <'; - $("export_html_text").value = html; - if ($("format_html").checked) { - $("export_html_text").select(); - } + var bounds = new OpenLayers.Bounds($("minlon").value, $("minlat").value, $("maxlon").value, $("maxlat").value); + var projBounds = bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")); + var zoom = map.getZoomForExtent(projBounds); + var center = bounds.getCenterLonLat(); + var url = "http://#{SERVER_URL}/export/embed.html?lat=" + center.lat.toFixed(5) + "&lon=" + center.lon.toFixed(5) + "&zoom=" + zoom; + + if ($("html_marker").checked) { + url += "&marker=true"; + } + + var html = ''; + $("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 { @@ -201,6 +205,7 @@ page << < @@ -15,27 +15,27 @@ var map, layer; function localUpdateLink() { var center = this.map.getCenter(); - + // Map not initialized yet. Break out of this function. - if (!center) { - return; + if (!center) { + return; } var params = OpenLayers.Util.getParameters(this.base); - - params.zoom = this.map.getZoom(); + + params.zoom = this.map.getZoom(); var lat = center.lat; var lon = center.lon; - + if (this.displayProjection) { var mapPosition = OpenLayers.Projection.transform( - { x: lon, y: lat }, - this.map.getProjectionObject(), + { x: lon, y: lat }, + this.map.getProjectionObject(), this.displayProjection ); - lon = mapPosition.x; - lat = mapPosition.y; + lon = mapPosition.x; + lat = mapPosition.y; } - + if (this.map.marker) { params.lat = Math.round(lat*100000)/100000; params.lon = Math.round(lon*100000)/100000; @@ -45,7 +45,7 @@ } var href = this.base; - if( href.indexOf('?') != -1 ){ + if(href.indexOf('?') != -1) { href = href.substring( 0, href.indexOf('?') ); } @@ -56,19 +56,21 @@ function init(){ OpenLayers.Lang.en.permalink = "Larger Map"; map = new OpenLayers.Map ("map", { - controls:[ + controls: [ new OpenLayers.Control.Attribution(), new OpenLayers.Control.ArgParser(), - new OpenLayers.Control.Navigation(), - new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", {updateLink:localUpdateLink})], + new OpenLayers.Control.Navigation(), + new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", { updateLink: localUpdateLink }) + ], maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34, 20037508.34,20037508.34), - numZoomLevels:20, - maxResolution:156543.0339, + numZoomLevels: 20, + maxResolution: 156543.0339, displayProjection: new OpenLayers.Projection("EPSG:4326"), - units:'m', + units: 'm', projection: new OpenLayers.Projection("EPSG:900913") - } ); + }); + var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", { displayOutsideMaxExtent: true, wrapDateLine: true, @@ -81,21 +83,26 @@ wrapDateLine: true, attribution: 'OpenStreetMap' }); - map.addLayer(osmarender); + map.addLayer(osmarender); + var args = OpenLayers.Util.getParameters(); if (args.marker && map.getCenter()) { var markers = new OpenLayers.Layer.Markers(); map.addLayer(markers); markers.addMarker( new OpenLayers.Marker(map.getCenter())); map.marker = true; - } - if (!map.getCenter()) { map.zoomToMaxExtent(); } + } + + if (!map.getCenter()) { + map.zoomToMaxExtent(); + } + var size = map.getSize(); - if (size.h > 320) { + if (size.h > 320) { map.addControl(new OpenLayers.Control.PanZoomBar()); } else { map.addControl(new OpenLayers.Control.PanZoom()); - } + } }