X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/075846bdff73e51251b0a8c7b39a756c85dda8dd..26746224ccab42bb6b2f39edb524803831defc1a:/public/export/embed.html diff --git a/public/export/embed.html b/public/export/embed.html index f3dab11bf..8e4ea2651 100644 --- a/public/export/embed.html +++ b/public/export/embed.html @@ -36,19 +36,15 @@ lat = mapPosition.y; } - if (this.map.marker) { - params.lat = Math.round(lat*100000)/100000; - params.lon = Math.round(lon*100000)/100000; - } else { - params.mlat = Math.round(lat*100000)/100000; - params.mlon = Math.round(lon*100000)/100000; - } + params.lat = Math.round(lat*100000)/100000; + params.lon = Math.round(lon*100000)/100000; var href = this.base; if(href.indexOf('?') != -1) { href = href.substring( 0, href.indexOf('?') ); } - + + this.element.target="_blank"; href += '?' + OpenLayers.Util.getParameterString(params); this.element.href = href; } @@ -58,7 +54,6 @@ map = new OpenLayers.Map ("map", { controls: [ new OpenLayers.Control.Attribution(), - new OpenLayers.Control.ArgParser(), new OpenLayers.Control.Navigation(), new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", { updateLink: localUpdateLink }) ], @@ -71,29 +66,35 @@ projection: new OpenLayers.Projection("EPSG:900913") }); - var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", { - displayOutsideMaxExtent: true, - wrapDateLine: true, - attribution: 'Data by OpenStreetMap' - }); - map.addLayer(mapnik); - - var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", { - displayOutsideMaxExtent: true, - wrapDateLine: true, - attribution: 'Data by OpenStreetMap' - }); - map.addLayer(osmarender); - + var attribution = 'Data by OpenStreetMap'; var args = OpenLayers.Util.getParameters(); - if (args.marker && map.getCenter()) { + if (!args.layer || args.layer == "mapnik") { + var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", { + displayOutsideMaxExtent: true, + wrapDateLine: true, + attribution: attribution + }); + map.addLayer(mapnik); + } else { + var osmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender", { + displayOutsideMaxExtent: true, + wrapDateLine: true, + attribution: attribution + }); + map.addLayer(osmarender); + } + + if (args.marker) { var markers = new OpenLayers.Layer.Markers(); map.addLayer(markers); - markers.addMarker( new OpenLayers.Marker(map.getCenter())); + markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(args.marker[1], args.marker[0]).transform(map.displayProjection, map.getProjectionObject()))); map.marker = true; } - if (!map.getCenter()) { + if (args.bbox) { + var bounds = OpenLayers.Bounds.fromArray(args.bbox).transform(map.displayProjection, map.getProjectionObject()); + map.zoomToExtent(bounds) + } else { map.zoomToMaxExtent(); }