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'] %>
|
||||
<% 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'] %>
|
||||
<% lon = params['lon'] %>
|
||||
<% lat = params['lat'] %>
|
||||
|
@ -43,22 +51,31 @@
|
|||
var map;
|
||||
|
||||
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 zoom = <%= zoom %>;
|
||||
var layers = "<%= layers %>";
|
||||
|
||||
<% if params['scale'] and params['scale'].length > 0 then %>
|
||||
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
||||
<% end %>
|
||||
|
||||
var map = createMap("map", centre, zoom);
|
||||
map.setCentre(center, zoom);
|
||||
<% end %>
|
||||
|
||||
<% if marker %>
|
||||
addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)));
|
||||
<% end %>
|
||||
|
||||
<% if layers %>
|
||||
setMapLayers(layers);
|
||||
setMapLayers("<%= layers %>");
|
||||
<% end %>
|
||||
|
||||
map.events.register("moveend", map, updateLocation);
|
||||
|
|
|
@ -64,7 +64,9 @@
|
|||
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
|
||||
<% end %>
|
||||
|
||||
var map = createMap("map", centre, zoom);
|
||||
var map = createMap("map");
|
||||
|
||||
map.setCentre(centre, zoom);
|
||||
|
||||
<% if marker %>
|
||||
marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)), null, "Your location");
|
||||
|
|
|
@ -2,7 +2,7 @@ var map;
|
|||
var markers;
|
||||
var popup;
|
||||
|
||||
function createMap(divName, centre, zoom) {
|
||||
function createMap(divName) {
|
||||
OpenLayers.Util.onImageLoadError = function() {
|
||||
this.src = OpenLayers.Util.getImagesLocation() + "404.png";
|
||||
}
|
||||
|
@ -28,7 +28,6 @@ function createMap(divName, centre, zoom) {
|
|||
map.addLayer(markers);
|
||||
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
map.setCenter(centre, zoom);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue