Add support for displaying a map covering a specified bounding box.
This commit is contained in:
parent
9634ab8fc1
commit
cbb7d97405
3 changed files with 24 additions and 6 deletions
|
@ -6,6 +6,14 @@
|
||||||
<% mlat = params['mlat'] %>
|
<% mlat = params['mlat'] %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<% if params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat'] %>
|
||||||
|
<% bbox = true %>
|
||||||
|
<% minlon = params['minlon'] %>
|
||||||
|
<% minlat = params['minlat'] %>
|
||||||
|
<% maxlon = params['maxlon'] %>
|
||||||
|
<% maxlat = params['maxlat'] %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<% if params['lon'] and params['lat'] %>
|
<% if params['lon'] and params['lat'] %>
|
||||||
<% lon = params['lon'] %>
|
<% lon = params['lon'] %>
|
||||||
<% lat = params['lat'] %>
|
<% lat = params['lat'] %>
|
||||||
|
@ -43,22 +51,31 @@
|
||||||
var map;
|
var map;
|
||||||
|
|
||||||
function init(){
|
function init(){
|
||||||
|
var map = createMap("map");
|
||||||
|
|
||||||
|
<% if bbox %>
|
||||||
|
var min = lonLatToMercator(new OpenLayers.LonLat(<%= minlon %>, <%= minlat %>));
|
||||||
|
var max = lonLatToMercator(new OpenLayers.LonLat(<%= maxlon %>, <%= maxlat %>));
|
||||||
|
var bbox = new OpenLayers.Bounds(min.lon, min.lat, max.lon, max.lat);
|
||||||
|
|
||||||
|
map.zoomToExtent(bbox);
|
||||||
|
<% else %>
|
||||||
var centre = lonLatToMercator(new OpenLayers.LonLat(<%= lon %>, <%= lat %>));
|
var centre = lonLatToMercator(new OpenLayers.LonLat(<%= lon %>, <%= lat %>));
|
||||||
var zoom = <%= zoom %>;
|
var zoom = <%= zoom %>;
|
||||||
var layers = "<%= layers %>";
|
|
||||||
|
|
||||||
<% if params['scale'] and params['scale'].length > 0 then %>
|
<% if params['scale'] and params['scale'].length > 0 then %>
|
||||||
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
var map = createMap("map", centre, zoom);
|
map.setCentre(center, zoom);
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<% if marker %>
|
<% if marker %>
|
||||||
addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)));
|
addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)));
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if layers %>
|
<% if layers %>
|
||||||
setMapLayers(layers);
|
setMapLayers("<%= layers %>");
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
map.events.register("moveend", map, updateLocation);
|
map.events.register("moveend", map, updateLocation);
|
||||||
|
|
|
@ -64,7 +64,9 @@
|
||||||
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
var map = createMap("map", centre, zoom);
|
var map = createMap("map");
|
||||||
|
|
||||||
|
map.setCentre(centre, zoom);
|
||||||
|
|
||||||
<% if marker %>
|
<% if marker %>
|
||||||
marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)), null, "Your location");
|
marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)), null, "Your location");
|
||||||
|
|
|
@ -2,7 +2,7 @@ var map;
|
||||||
var markers;
|
var markers;
|
||||||
var popup;
|
var popup;
|
||||||
|
|
||||||
function createMap(divName, centre, zoom) {
|
function createMap(divName) {
|
||||||
OpenLayers.Util.onImageLoadError = function() {
|
OpenLayers.Util.onImageLoadError = function() {
|
||||||
this.src = OpenLayers.Util.getImagesLocation() + "404.png";
|
this.src = OpenLayers.Util.getImagesLocation() + "404.png";
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ function createMap(divName, centre, zoom) {
|
||||||
map.addLayer(markers);
|
map.addLayer(markers);
|
||||||
|
|
||||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||||
map.setCenter(centre, zoom);
|
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue