/** * Filename : map.js * Copyright : Transport for London 2005 * * Author : Phil Maskell * **/ // <-- Hide javascript from non-compliant browsers var wms_server = "/roadworks/requestMapWMS"; //var wms_server = "http://public.londonworks.gov.uk/roadworks/requestMapWMS"; var map, overview, keyboardControls, navControls, measureControls, controls; var loading; function init(x, y, z) { if (browser.isLessThanIE6) { //nowt } else { doInit(x, y, z); } } function doInit(x, y, z) { document.getElementById('messageContainer').style.visibility = 'visible'; document.getElementById('map').style.visibility = 'visible'; document.getElementById('mapCopyrightMessage').style.visibility = 'visible'; var options = { projection: "EPSG:27700", units: "m", controls: [], numZoomLevels: 6, resolutions: [1,2,4,8,16,32], maxExtent: new OpenLayers.Bounds(496000, 152000, 562000, 206000) }; map = new OpenLayers.Map('map', options); var panZoom = new OpenLayers.Control.PanZoomBar(); panZoom.slideFactor = 300; map.addControl(panZoom); var navigation = new OpenLayers.Control.Navigation(); navigation.handleRightClicks = true; navControls = { pan: navigation, zoomBox: new OpenLayers.Control.ZoomBox({alwaysZoom:true}) }; for(var key in navControls) { map.addControl(navControls[key]); } loadMapLayers(); loadDynamicLayers(); keyBoardControls = new OpenLayers.Control.KeyboardDefaults(); map.addControl(keyBoardControls); map.addControl(new OpenLayers.Control.Attribution()); // create an overview map control with non-default options var overviewOptions = { minRectSize: 2, minRatio: 8, maxRatio: 8, layers: new Array(new OpenLayers.Layer.WMS("OVERVIEW", wms_server, { layers: 'layers/pubreg/barts_grey, layers/pubreg/streetview_grey, layers/pubreg/boroughs_thin, layers/pubreg/motorways ', format: "image/gif" }, {singleTile: false, buffer: buffer, gutter: gutter, tileSize: new OpenLayers.Size(600,600)})), mapOptions: { projection: "EPSG:27700", units: "m", numZoomLevels: 7, restrictedExtent: new OpenLayers.Bounds(496000, 152000, 562000, 206000), maxExtent: new OpenLayers.Bounds(300000, 70000, 560000, 400000) } } if (!browser.isKonqueror) { overview = new OpenLayers.Control.OverviewMap(overviewOptions); map.addControl(overview); // expand the overview map control overview.maximizeControl(); } map.setCenter(new OpenLayers.LonLat(x, y), z); AjaxFunctions.setCenter(map.getCenter().lon, map.getCenter().lat, map.getZoom(), map.getExtent().getWidth(), map.getExtent().getHeight(), plotActivityGeometry); map.events.register("movestart", map, function(e) { document.getElementById("activityCanvas").innerHTML = ''; document.getElementById("activityCanvas").style.display = 'none'; document.getElementById("messageContainer").innerHTML = "
\"Map  Loading...
"; }); map.events.register("moveend", map, function(e) { document.getElementById("activityCanvas").style.display = 'none'; AjaxFunctions.setCenter(map.getCenter().lon, map.getCenter().lat, map.getZoom(), map.getExtent().getWidth(), map.getExtent().getHeight(), plotActivityGeometry); }); if (!browser.isKonqueror) { overview.minimizeControl(); } } function clearLayer(layer) { for(var i=0; i