mapserver/server/static/js/Hashroute.js
2019-04-04 10:19:29 +02:00

61 lines
1.2 KiB
JavaScript

/* exported Hashroute */
var Hashroute = {
setup: function(map, layerMgr){
function updateHash(){
var center = map.getCenter();
window.location.hash =
layerMgr.getCurrentLayer().id + "/" +
center.lng + "/" + center.lat + "/" + map.getZoom();
}
map.on('zoomend', updateHash);
map.on('moveend', updateHash);
map.on('baselayerchange', updateHash);
updateHash();
},
getLayerId: function(){
var hashParts = window.location.hash.substring(1).split("/");
if (hashParts.length == 4){
//new format
return +hashParts[0];
}
return 0;
},
getZoom: function(){
var hashParts = window.location.hash.substring(1).split("/");
if (hashParts.length == 3){
//old format
return +hashParts[2];
} else if (hashParts.length == 4){
//new format
return +hashParts[3];
}
return 11;
},
getCenter: function(){
var hashParts = window.location.hash.substring(1).split("/");
if (hashParts.length == 3){
//old format
return [+hashParts[1], +hashParts[0]];
} else if (hashParts.length == 4){
//new format
return [+hashParts[2], +hashParts[1]];
}
return [0, 0];
}
};