// LOCATION HANDLING ///////////////////////////////////////////////// // i.e. setting initial position and storing new position after moving // retrieves current position from map and stores it cookies window.storeMapPosition = function() { var m = window.map.getCenter(); if(m['lat'] >= -90 && m['lat'] <= 90) writeCookie('ingress.intelmap.lat', m['lat']); if(m['lng'] >= -180 && m['lng'] <= 180) writeCookie('ingress.intelmap.lng', m['lng']); writeCookie('ingress.intelmap.zoom', window.map.getZoom()); } // either retrieves the last shown position from a cookie, from the // URL or if neither is present, via Geolocation. If that fails, it // returns a map that shows the whole world. window.getPosition = function() { if(getURLParam('latE6') && getURLParam('lngE6')) { console.log("mappos: reading email URL params"); var lat = parseInt(getURLParam('latE6'))/1E6 || 0.0; var lng = parseInt(getURLParam('lngE6'))/1E6 || 0.0; var z = parseInt(getURLParam('z')) || 17; return {center: new L.LatLng(lat, lng), zoom: z}; } if(getURLParam('ll')) { console.log("mappos: reading stock Intel URL params"); var lat = parseFloat(getURLParam('ll').split(",")[0]) || 0.0; var lng = parseFloat(getURLParam('ll').split(",")[1]) || 0.0; var z = parseInt(getURLParam('z')) || 17; return {center: new L.LatLng(lat, lng), zoom: z}; } if(getURLParam('pll')) { console.log("mappos: reading stock Intel URL portal params"); var lat = parseFloat(getURLParam('pll').split(",")[0]) || 0.0; var lng = parseFloat(getURLParam('pll').split(",")[1]) || 0.0; var z = parseInt(getURLParam('z')) || 17; return {center: new L.LatLng(lat, lng), zoom: z}; } if(readCookie('ingress.intelmap.lat') && readCookie('ingress.intelmap.lng')) { console.log("mappos: reading cookies"); var lat = parseFloat(readCookie('ingress.intelmap.lat')) || 0.0; var lng = parseFloat(readCookie('ingress.intelmap.lng')) || 0.0; var z = parseInt(readCookie('ingress.intelmap.zoom')) || 17; if(lat < -90 || lat > 90) lat = 0.0; if(lng < -180 || lng > 180) lng = 0.0; return {center: new L.LatLng(lat, lng), zoom: z}; } setTimeout("window.map.locate({setView : true});", 50); return {center: new L.LatLng(0.0, 0.0), zoom: 1}; }