diff options
Diffstat (limited to 'misc/openlayers/examples/cache-write.js')
-rw-r--r-- | misc/openlayers/examples/cache-write.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/misc/openlayers/examples/cache-write.js b/misc/openlayers/examples/cache-write.js new file mode 100644 index 0000000..e9db31a --- /dev/null +++ b/misc/openlayers/examples/cache-write.js @@ -0,0 +1,46 @@ +// 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."; + } + } +}
\ No newline at end of file |