46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
// Use proxy to get same origin URLs for tiles that don't support CORS.
|
|
OpenLayers.ProxyHost = "proxy.cgi?url=";
|
|
|
|
var map, cacheWrite;
|
|
|
|
function init() {
|
|
map = new OpenLayers.Map({
|
|
div: "map",
|
|
projection: "EPSG:900913",
|
|
layers: [
|
|
new OpenLayers.Layer.WMS(
|
|
"OSGeo", "http://vmap0.tiles.osgeo.org/wms/vmap0",
|
|
{layers: "basic"}
|
|
)
|
|
],
|
|
center: [0, 0],
|
|
zoom: 1
|
|
});
|
|
cacheWrite = new OpenLayers.Control.CacheWrite({
|
|
autoActivate: true,
|
|
imageFormat: "image/jpeg",
|
|
eventListeners: {
|
|
cachefull: function() { status.innerHTML = "Cache full."; }
|
|
}
|
|
});
|
|
map.addControl(cacheWrite);
|
|
|
|
|
|
|
|
// User interface
|
|
var status = document.getElementById("status");
|
|
document.getElementById("clear").onclick = function() {
|
|
OpenLayers.Control.CacheWrite.clearCache();
|
|
updateStatus();
|
|
};
|
|
|
|
// update the number of cached tiles and detect local storage support
|
|
map.layers[0].events.on({'tileloaded': updateStatus});
|
|
function updateStatus() {
|
|
if (window.localStorage) {
|
|
status.innerHTML = localStorage.length + " entries in cache.";
|
|
} else {
|
|
status.innerHTML = "Local storage not supported. Try a different browser.";
|
|
}
|
|
}
|
|
} |