larger map link is now raw html for better google-linking capability, rather
than generated by javascript
This commit is contained in:
parent
26746224cc
commit
8a6cfefa07
2 changed files with 14 additions and 41 deletions
|
@ -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) {
|
||||
|
|
|
@ -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),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue