From: Christopher Schmidt Date: Wed, 30 Apr 2008 01:00:40 +0000 (+0000) Subject: improvements to embed.html, now uses bbox instead of lon/lat/zoom, and has more human... X-Git-Tag: live~7778^2~6 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/73aedc2e5c47e8d74f1bd5ab127f00730ba9d3db?hp=075846bdff73e51251b0a8c7b39a756c85dda8dd improvements to embed.html, now uses bbox instead of lon/lat/zoom, and has more human readable layer definition, and has support for marker other than the middle of the map. --- diff --git a/public/export/embed.html b/public/export/embed.html index f3dab11bf..58bfdec21 100644 --- a/public/export/embed.html +++ b/public/export/embed.html @@ -36,13 +36,8 @@ 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) { @@ -58,7 +53,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,32 +65,37 @@ 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())); + var center = args.marker.split(","); + markers.addMarker( new OpenLayers.Marker(new OpenLayers.LonLat(center[1], center[0]).transform(map.displayProjection, map.getProjectionObject()))); map.marker = true; + } + if (args.bbox) { + var bounds = OpenLayers.Bounds.fromString(args.bbox).transform(map.displayProjection, map.getProjectionObject()); + var center = bounds.getCenterLonLat(); + map.setCenter(center, map.getZoomForExtent(bounds, true); + } else { + map.zoomToMaxExtent(); } - - if (!map.getCenter()) { - map.zoomToMaxExtent(); - } - var size = map.getSize(); if (size.h > 320) { map.addControl(new OpenLayers.Control.PanZoomBar());