Files
openlayers/tests/manual/tiles-loading.html
2009-10-24 05:57:41 +00:00

123 lines
4.1 KiB
HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tiles Loading Acceptance Test</title>
<style type="text/css">
body {
font-size: 0.8em;
}
p {
padding-top: 1em;
}
#map {
margin: 1em;
float: left;
width: 512px;
height: 512px;
}
</style>
<script src='http://maps.google.com/maps?file=api&amp;v=2.82&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
<script src="../../lib/OpenLayers.js"></script>
<script type="text/javascript">
// make map available for easy debugging
var map;
// increase reload attempts
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
function init(){
var options = {
controls: [],
projection: "EPSG:900913",
units: "m",
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
20037508, 20037508.34)
};
map = new OpenLayers.Map('map', options);
// create Google Mercator layers
var gmap = new OpenLayers.Layer.Google(
"Google Streets",
{'sphericalMercator': true}
);
// create WMS layer
var wmsMaxResolution = 78271.51695;
var wms = new OpenLayers.Layer.WMS(
"World Map",
"http://world.freemap.in/tiles/",
{'layers': 'factbook-overlay', 'format':'png'},
{
'opacity': 0.4,
'isBaseLayer': false,
'wrapDateLine': true,
'buffer': 0,
'maxResolution' : wmsMaxResolution
}
);
map.addLayers([gmap, wms]);
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.PanZoomBar());
function onLayerChanged() {
var html = '<p>WMS Layer state - in range: '
+ this.inRange
+ ', visibility: '
+ this.visibility;
+ '</p>';
document.getElementById('layerstate').innerHTML = html;
}
map.events.register('changelayer', wms, onLayerChanged);
function onTileLoaded() {
var html = '<p>Message: ';
if (this.numLoadingTiles > 0) {
html += 'Loading tiles...';
} else {
html += 'Done loading tiles';
}
html += '</p>';
document.getElementById('tilesloading').innerHTML = html;
}
wms.events.register('tileloaded', wms, onTileLoaded);
map.zoomToMaxExtent()
}
</script>
</head>
<body onload="init()">
<div id="map"></div>
<p>
<b>Test 0</b> : at the initial zoom the WMS layer is in range, you should
therefore see the 'Loading tiles...' message when loading the page for
the first time.
</p>
<p>
<b>Test 1</b> : If you zoom out by one level (using the zoombar), the WMS
layer becomes out of range. No tile should be loaded so you shouldn't see
the 'Loading tiles...' message.
</p>
<p>
<b>Test 2</b> : Zoom in by one level to go back to initial state (the WMS
is back). Open the layer switcher and turn off the WMS layer. No tile
should be loaded so you shouldn't see the 'Loading tiles...' message.
</p>
<p>
<b>Test 3</b> : Keep the WMS layer turned off in the layer switcher. Zoom
out by one level again. The layer is both invisible and out of range, so
you shouldn't see the 'Loading tiles...' message.
</p>
<div id="layerstate"><p>WMS Layer state - in range: true, visibility: true</p></div>
<div id="tilesloading"><p>Message:</p></div>
</body>
</html>