diff --git a/web_assets/functions.js b/web_assets/functions.js index 96742af..f94568a 100644 --- a/web_assets/functions.js +++ b/web_assets/functions.js @@ -178,6 +178,20 @@ function initMarkers() { continue; } + if (item.type == 'querypos') { + // Set on page load if MC x/y/z coords are given in the query string + + iconURL = 'http://google-maps-icons.googlecode.com/files/regroup.png'; + var converted = fromWorldToLatLng(item.x, item.y, item.z); + var marker = new google.maps.Marker({position: converted, + map: map, + title: jQuery.trim(item.msg), + icon: iconURL + }); + + continue; + } + var matched = false; for (idx in signGroups) { var signGroup = signGroups[idx]; @@ -240,10 +254,19 @@ function initMarkers() { function makeLink() { + var displayZoom = map.getZoom(); + if (displayZoom == config.maxZoom) { + displayZoom = "max"; + } else { + displayZoom -= config.maxZoom; + } + var xyz; + var xyz = fromLatLngToWorld(map.getCenter().lat(), map.getCenter().lng()); var a=location.href.substring(0,location.href.lastIndexOf(location.search)) - + "?lat=" + map.getCenter().lat().toFixed(6) - + "&lng=" + map.getCenter().lng().toFixed(6) - + "&zoom=" + map.getZoom(); + + "?x=" + Math.floor(xyz.x) + + "&y=" + Math.floor(xyz.y) + + "&z=" + Math.floor(xyz.z) + + "&zoom=" + displayZoom; document.getElementById("link").innerHTML = a; } @@ -254,6 +277,11 @@ function initialize() { var lat = 0.5; var lng = 0.5; var zoom = config.defaultZoom; + var hasquerypos = false; + var queryx = 0; + var queryy = 64; + var queryz = 0; + var mapcenter; var pairs = query.split("&"); for (var i=0; i