larger map link is now raw html for better google-linking capability, rather

than generated by javascript
This commit is contained in:
Christopher Schmidt 2008-05-01 00:00:20 +00:00
parent 26746224cc
commit 8a6cfefa07
2 changed files with 14 additions and 41 deletions

View file

@ -229,12 +229,23 @@ page << <<EOJ
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;
if ($("marker_lat").value && $("marker_lon").value) {
url += "&marker=" + $("marker_lat").value + "," + $("marker_lon").value;
}
var html = '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+url+'" style="border: 1px solid black"></iframe>';
// 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);
html += '<br /><small><a href="http://#{SERVER_URL}/?lat='+center.lat+'&lon='+center.lon+'&zoom='+zoom+'">View Larger Map</a></small>';
$("export_html_text").value = html;
if ($("format_html").checked) {

View file

@ -13,49 +13,11 @@
<script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script type="text/javascript">
var map, layer;
function localUpdateLink() {
var center = this.map.getCenter();
// Map not initialized yet. Break out of this function.
if (!center) {
return;
}
var params = OpenLayers.Util.getParameters(this.base);
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(),
this.displayProjection );
lon = mapPosition.x;
lat = mapPosition.y;
}
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;
}
function init(){
OpenLayers.Lang.en.permalink = "Larger Map";
map = new OpenLayers.Map ("map", {
controls: [
new OpenLayers.Control.Attribution(),
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.Permalink(null, "http://openstreetmap.org/", { updateLink: localUpdateLink })
new OpenLayers.Control.Navigation()
],
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,
20037508.34,20037508.34),