summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/cache-write.js
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/examples/cache-write.js')
-rw-r--r--misc/openlayers/examples/cache-write.js46
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