0

live updating hashes instead of permalinks

This commit is contained in:
Jeffrey Warren
2011-04-18 09:44:10 -04:00
committed by jywarren
parent 3eec8143dd
commit ad0e38f7bb
2 changed files with 17 additions and 18 deletions

View File

@@ -240,11 +240,7 @@ function initMarkers() {
function makeLink() { function makeLink() {
var a=location.href.substring(0,location.href.lastIndexOf(location.search)) location.hash = "#/"+map.getCenter().lat().toFixed(3)+"/"+map.getCenter().lng().toFixed(3)+"/"+map.getZoom();
+ "?lat=" + map.getCenter().lat().toFixed(6)
+ "&lng=" + map.getCenter().lng().toFixed(6)
+ "&zoom=" + map.getZoom();
document.getElementById("link").innerHTML = a;
} }
function initialize() { function initialize() {
@@ -254,17 +250,14 @@ function initialize() {
var lat = 0.5; var lat = 0.5;
var lng = 0.5; var lng = 0.5;
var zoom = config.defaultZoom; var zoom = config.defaultZoom;
var pairs = query.split("&");
for (var i=0; i<pairs.length; i++) {
// break each pair at the first "=" to obtain the argname and value
var pos = pairs[i].indexOf("=");
var argname = pairs[i].substring(0,pos).toLowerCase();
var value = pairs[i].substring(pos+1).toLowerCase();
// process each possible argname // Jeff's hash rewriting:
if (argname == "lat") {lat = parseFloat(value);} var hash = window.location.hash
if (argname == "lng") {lng = parseFloat(value);} var params = hash.split("/")
if (argname == "zoom") {zoom = parseInt(value);} if (params.length > 1) {
lat = parseFloat(params[1])
lng = parseFloat(params[2])
zoom = parseInt(params[3])
} }
var mapTyepControlToggle = false var mapTyepControlToggle = false

View File

@@ -1,7 +1,14 @@
html { height: 100% } html {
height: 100%;
font-family: lucida grande, lucida sans console, sans-serif;
}
body { height: 100%; margin: 0px; padding: 0px ; background-color: #000; } body { height: 100%; margin: 0px; padding: 0px ; background-color: #000; }
#mcmap { height: 100% } #mcmap { height: 100% }
#mcmap div div a img, #mcmap div div div a {
display:none;
}
.infoWindow { .infoWindow {
height: 100px; height: 100px;
} }
@@ -20,10 +27,10 @@ body { height: 100%; margin: 0px; padding: 0px ; background-color: #000; }
#signControl { #signControl {
padding: 5px; padding: 5px;
height: 15px; height: 15px;
font-family: Arial, sans-serif;
} }
#signControl > div#top { #signControl > div#top {
display:none;
background-color: #fff; background-color: #fff;
border: 2px solid #000; border: 2px solid #000;
text-align: center; text-align: center;
@@ -44,7 +51,6 @@ body { height: 100%; margin: 0px; padding: 0px ; background-color: #000; }
#link { #link {
background-color: #fff; /* fallback */ background-color: #fff; /* fallback */
background-color: rgba(255,255,255,0.55); background-color: rgba(255,255,255,0.55);
border: 1px solid rgb(0, 0, 0);
font-size: 9pt; font-size: 9pt;
padding-left: 2px; padding-left: 2px;
padding-right: 2px; padding-right: 2px;