Hi all, I recently ported the following Google Maps API tutorial (using cookies to remember the map state when the user leaves the page and comes back) to OpenLayers.
http://econym.org.uk/gmap/cookies.htm http://econym.org.uk/gmap/cookies.htm Here's the code.. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="http://openlayers.org/dev/theme/default/style.css" type="text/css" /> <link rel="stylesheet" href="http://openlayers.org/dev/examples/style.css" type="text/css" /> <script src="http://openlayers.org/dev/OpenLayers.js"></script> <script type="text/javascript"> var lon = 5; var lat = 40; var zoom = 5; var map, layer; // === Some cookie parameters === var cookiename = "mapinfo"; // name for this cookie var expiredays = 7; // number of days before cookie expiry // === Look for the cookie === if (document.cookie.length>0) { cookieStart = document.cookie.indexOf(cookiename + "="); if (cookieStart!=-1) { cookieStart += cookiename.length+1; cookieEnd=document.cookie.indexOf(";",cookieStart); if (cookieEnd==-1) { cookieEnd=document.cookie.length; } cookietext = document.cookie.substring(cookieStart,cookieEnd); // == split the cookie text and create the variables == bits = cookietext.split("|"); lat = parseFloat(bits[0]); lon = parseFloat(bits[1]); zoom = parseInt(bits[2]); } } function init(){ map = new OpenLayers.Map( 'map' ); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); map.addLayer(layer); map.setCenter(new OpenLayers.LonLat(lon, lat), zoom); map.addControl( new OpenLayers.Control.LayerSwitcher() ); } // === Set the cookie before exiting === function setCookie() { mapcenter = new OpenLayers.LonLat(map.getCenter().lon, map.getCenter().lat); var cookietext = cookiename+"="+mapcenter.lat+"|"+mapcenter.lon+"|"+map.getZoom(); if (expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); cookietext += ";expires="+exdate.toGMTString(); } // == write the cookie == document.cookie=cookietext; } </script> </head> <body onload="init()" onunload="setCookie()"> <h1 id="title">WMS Example</h1> <div id="tags"> </div> <div id="map" class="smallmap"></div> </body> </html> -- View this message in context: http://n2.nabble.com/Using-cookies-to-remember-the-map-state-tp4639597p4639597.html Sent from the OpenLayers Users mailing list archive at Nabble.com. _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
