63 lines
2.3 KiB
JavaScript
63 lines
2.3 KiB
JavaScript
|
|
// 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};
|
|
}
|