[OpenLayers-Users] Can't get overview map to work
Planet)x
andrew.stewart at reddeer.ca
Thu Aug 19 14:27:54 EDT 2010
Thanks for the response. I thought that part of the example code was for the
second "custom" overview map because it seems like the first overview map
created in the example is just added as a regular control with no defined
options except one layer, which is what I did but it didn't work. Below is
my modified code I tried to add the part you suggested but now I am getting
an javascript error saying "Null is null or not an object, OpenLayers.js
line 892".
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Redgis - WMS Service</title>
<!-- Set Styles for all page elements -->
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
body
{
margin: 0;
}
#map
{
width: 100%;
height: 90%;
}
#text
{
position: absolute;
bottom: 1em;
left: 1em;
width: 512px;
}
.olControlPanel div
{
display:block;
width: 24px;
height: 24px;
margin: 5px;
position:relative;
top: 0;
left: 1224;
}
.olControlPanel .olControlMouseDefaultsItemActive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/pan.gif");
}
.olControlPanel .olControlMouseDefaultsItemInactive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/pan.gif");
}
.olControlPanel .olControlButtonHomeItemActive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/home.gif");
}
.olControlPanel .olControlButtonHomeItemInActive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/home.gif");
}
.olControlPanel .olControlButtonQueriesItemActive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/query.gif");
}
.olControlPanel .olControlButtonQueriesItemInActive
{
background-image: url("OpenLayers-2.9.1/theme/default/img/query.gif");
}
.olControlPanel .olControlDrawFeatureItemActive
{
width: 22px;
height: 22px;
background-image:
url("OpenLayers-2.9.1/theme/default/img/draw_line_on.png");
}
.olControlPanel .olControlDrawFeatureItemInactive
{
width: 22px;
height: 22px;
background-image:
url("OpenLayers-2.9.1/theme/default/img/draw_line_off.png");
}
.olControlPanel .olControlZoomBoxItemInactive
{
width: 22px;
height: 22px;
background-image:
url("OpenLayers-2.9.1/theme/default/img/zoomarea.gif");
}
.olControlPanel .olControlZoomBoxItemActive
{
width: 22px;
height: 22px;
background-image:
url("OpenLayers-2.9.1/theme/default/img/zoomarea.gif");
}
.olControlPanel .olControlZoomToMaxExtentItemInactive
{
width: 18px;
height: 18px;
background-image: url("OpenLayers-2.9.1/img/zoom-world-mini.png");
}
.olControlPanel .olControlButtonPrintItemActive
{
background-image:
url("OpenLayers-2.9.1/theme/default/img/printadvanced.gif");
}
.olControlPanel .olControlButtonPrintItemInactive
{
background-image:
url("OpenLayers-2.9.1/theme/default/img/printadvanced.gif");
}
</style>
<script type="text/javascript"
src="OpenLayers-2.9.1/lib/Firebug/firebug.js"></script>
<script type="text/javascript"
src="OpenLayers-2.9.1/OpenLayers.js"></script>
<script type="text/javascript">
//Define Map Layers
-----------------------------------------------------------------------
//Bridge
var wmsBridge = new OpenLayers.Layer.WMS("Bridge",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Bridge'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsBridge.setOpacity(0.8);
//Rural_Highway
var wmsRural_Highway = new OpenLayers.Layer.WMS("Rural Highway",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Rural_Highway'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsRural_Highway.setOpacity(0.8);
//Highway
var wmsHighway = new OpenLayers.Layer.WMS("Highway",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Highway'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsHighway.setOpacity(0.8);
//Arterial
var wmsArterial = new OpenLayers.Layer.WMS("Arterial",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Arterial'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsArterial.setOpacity(0.8);
//City_Boundary
var wmsCity_Boundary = new OpenLayers.Layer.WMS("City Boundary",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['City_Boundary'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsCity_Boundary.setOpacity(0.8);
//Hydrology
var wmsHydrology = new OpenLayers.Layer.WMS("Hydrology",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Hydrology'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsHydrology.setOpacity(0.8);
//Neighbourhood Area (Clear)
var wmsNeighbourhood_Clear = new
OpenLayers.Layer.WMS("Neighbourhood Area (Clear)",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Neighbourhood_Area__Clear_'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsNeighbourhood_Clear.setOpacity(0.8);
//Neighbourhood Boundary
var wmsNeighbourhood_Boundary = new
OpenLayers.Layer.WMS("Neighbourhood Boundary",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Neighbourhood_Boundary'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsNeighbourhood_Boundary.setOpacity(0.8);
//Major Parks
var wmsMajor_Parks = new OpenLayers.Layer.WMS("Major Parks",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Major_Parks'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsMajor_Parks.setOpacity(0.8);
//Neighbourhood Parks
var wmsNeighbourhood_Parks = new
OpenLayers.Layer.WMS("Neighbourhood Parks",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Neighbourhood_Parks'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsMajor_Parks.setOpacity(0.8);
//Recreation Sites
var wmsRecreation_Sites= new OpenLayers.Layer.WMS("Recreation
Sites", "http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Recreation_Sites'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsRecreation_Sites.setOpacity(0.8);
//School Sites
var wmsSchool_Sites= new OpenLayers.Layer.WMS("School Sites",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['School_Sites'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsSchool_Sites.setOpacity(0.8);
//Linear Parks
var wmsLinear_Parks= new OpenLayers.Layer.WMS("Linear Parks",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Linear_Parks'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsLinear_Parks.setOpacity(0.8);
//Section Lines
var wmsSection_Lines= new OpenLayers.Layer.WMS("Section Lines",
"http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Section_Lines'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: true
, singleTile: true
}
);
wmsSection_Lines.setOpacity(0.8);
wmsSection_Lines.displayInLayerSwitcher = false //hides
layer from displaying in layerswitcher control
//Rural Block Line
var wmsRural_Block_Line= new OpenLayers.Layer.WMS("Rural Block
Line", "http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Rural_Block_Line'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsRural_Block_Line.setOpacity(0.8);
//Rural Lot Line
var wmsRural_Lot_Line= new OpenLayers.Layer.WMS("Rural Lot
Line", "http://ITS701X5J1/RedWMS/Request.aspx",
{
layers: ['Rural_Lot_Line'],
format: 'image/png',
VERSION: "1.1.1",
transparent: true
},
{ isBaseLayer: false
, singleTile: true
}
);
wmsRural_Lot_Line.setOpacity(0.8);
//End Define Map Layers
------------------------------------------------------------------------------------------------
function init(){
var map = new OpenLayers.Map( 'map', { controls: [],
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
20037508.34, 20037508.34),
maxResolution: 156543.0399,
numZoomLevels: 20,
units: 'm',
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
}
);
map.addLayers([wmsBridge, wmsRural_Highway, wmsHighway,
wmsArterial, wmsCity_Boundary, wmsHydrology, wmsNeighbourhood_Clear,
wmsNeighbourhood_Boundary, wmsMajor_Parks, wmsNeighbourhood_Parks,
wmsRecreation_Sites, wmsSchool_Sites, wmsLinear_Parks, wmsSection_Lines,
wmsRural_Block_Line, wmsRural_Lot_Line]);
vlayer = new OpenLayers.Layer.Vector( "Red Lines" );
vlayer.displayInLayerSwitcher = false
map.addLayer(vlayer);
//Add Controls to Control Panel
zb = new OpenLayers.Control.ZoomBox(
{title:"Zoom by Area, Click and drag to zoom."});
var triggerHome = function() {
window.location.reload();
};
var triggerQuery = function() {
window.open ("queries.aspx","Queries");
};
var triggerPrint = function()
{
window.print();
};
//declare all controls
var btnHome = new OpenLayers.Control.Button({trigger:
triggerHome, title: "Reload Website", displayClass: 'olControlButtonHome'});
var btnQuery = new OpenLayers.Control.Button({trigger:
triggerQuery, title: "Pre-Defined Queries", displayClass:
'olControlButtonQueries'});
var nav = new OpenLayers.Control.NavigationHistory({title: "Zoom
to Previous View"});
var mouseDefaults = new OpenLayers.Control.MouseDefaults({title:
"Pan Tool - Click and drag on map window"});
var drawFeature = new OpenLayers.Control.DrawFeature(vlayer,
OpenLayers.Handler.Path, {title: "Draw feature"});
var zoomMax = new OpenLayers.Control.ZoomToMaxExtent({title:
"Zoom to max Range"});
var btnPrint = new OpenLayers.Control.Button({trigger:
triggerPrint, title: "Print Page", displayClass: 'olControlButtonPrint'});
// add controls to panel
map.addControl(nav);
var panel = new OpenLayers.Control.Panel({defaultControl:
mouseDefaults});
panel.addControls([btnHome, btnQuery, zb, nav.previous,
mouseDefaults, drawFeature, zoomMax, btnPrint]);
var startupLat = 52.27210;
var startupLon = -113.80288;
var startupLevel = 12;
var lonLat = new OpenLayers.LonLat(startupLon,
startupLat).transform(new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject());
//nav = new OpenLayers.Control.NavigationHistory();
// parent control must be added to the map
//map.addControl(nav);
//panel.addControls([nav.next, nav.previous]);
map.addControl(panel);
map.setCenter(lonLat,startupLevel);
var mapOptions = {
maxExtent: new OpenLayers.Bounds(-8242894.927728,
4965204.031195,
-8227290.161511, 4994963.723637),
maxResolution: 116.24879860156216,
projection: "EPSG:900913",
units: "m"
};
//Define custom controls
var redgisLegend = new OpenLayers.Control.LayerSwitcher();
var controlOptions = {
mapOptions: OpenLayers.Util.extend(mapOptions,
{
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
20037508.34, 20037508.34)
}),
layers: [wmsRural_Lot_Line]
}
var overview2 = new OpenLayers.Control.OverviewMap(controlOptions);
map.addControl(overview2);
//add controls to map
map.addControl(redgisLegend);
redgisLegend.maximizeControl();
}
</script>
</head>
<body onload="init()">
<div id="map"></div>
<div><center><br />Active Tool: <br/><br/>
</center>
</div>
</body>
</html>
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Can-t-get-overview-map-to-work-tp5441450p5441558.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list