Changeset 142
- Timestamp:
- Oct 23, 2006, 6:27:26 PM (14 years ago)
- Location:
- trunk/npemap.org.uk/static/tiles
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/npemap.org.uk/static/tiles/map.html
r133 r142 4 4 <link rel="stylesheet" type="text/css" href="grid.css"> 5 5 </head> 6 <body onload="initializePage(); go();doResize();" onResize="doResize() ">6 <body onload="initializePage(); " onResize="doResize() "> 7 7 <!-- Yahoo functions --> 8 8 <script src="yahoo.js"></script> -
trunk/npemap.org.uk/static/tiles/mapTiles.js
r141 r142 35 35 var prefix; 36 36 37 var screenWidth = YAHOO.util.Dom.getViewportWidth(); 38 var screenHeight = YAHOO.util.Dom.getViewportHeight(); 39 var bottomLeft = new Array(); 37 40 38 41 … … 58 61 } 59 62 60 function go() { 61 62 YAHOO.util.Event.addListener('postcode1', 'keypress', box1Keypress ); 63 fixZoomButton(); 64 65 66 mapElement.onclick = function(e) { 67 e = YAHOO.util.Event.getEvent(e); 68 var img = YAHOO.util.Event.getTarget(e); 69 var x = YAHOO.util.Event.getPageX(e); 70 var y = YAHOO.util.Event.getPageY(e); 71 var imgPos = YAHOO.util.Dom.getXY(img); 72 var tileX = x - imgPos[0]; 73 var tileY = y - imgPos[1]; 74 // Tiles are eee/nnn.jpg 75 var tile = img.src.substring( img.src.lastIndexOf("/") - 3 ); 76 var baseEasting = tile.substring(0, tile.indexOf("/"))-0; 77 var baseNorthing = tile.substring(tile.indexOf("/") + 1, tile.indexOf("."))-0; 78 var tileXratio = tileX/img.offsetWidth; 79 var tileYratio = 1 -(tileY/img.offsetHeight); 80 if (zoomLevel != 1) { 81 // Zoom in. 82 83 offsetGridX = Math.round((baseEasting -0 + tileXratio) * jumpIn[zoomLevel]); 84 offsetGridY = Math.round((baseNorthing -0 + tileYratio) * jumpIn[zoomLevel]); 85 86 zoomLevel = zoomLevel - 1; 87 prefix = prefixes[zoomLevel]; 88 fixZoomButton(); 89 refreshGrid(); 90 } else { 91 92 var easting = trimSixDigits(Math.round((baseEasting + tileXratio)*1000)); 93 var northing = trimSixDigits(Math.round((baseNorthing +tileYratio)*1000)); 94 95 YAHOO.util.Dom.setXY(markerElement, [(x-4), (y-11)]); 96 markerElement.style.visibility = 'visible'; 97 98 postcodeFormElement.style.display = 'block'; 99 YAHOO.util.Dom.setXY(postcodeFormElement, [Math.max(0, (x-50)), (y-180) < 0 ? (y+10):(y-180)]); 100 locationElement.innerHTML = easting + ', ' + northing ; 101 document.getElementById('easting').value = easting; 102 document.getElementById('northing').value = northing; 103 document.getElementById('returnX').value = offsetGridX; 104 document.getElementById('returnY').value = offsetGridY; 105 106 document.getElementById('postcode1').value = ""; 107 document.getElementById('postcode2').value = ""; 108 document.getElementById('postcode1').focus(); 109 } 110 } 111 } 112 113 function closePostcodeWindow() { 114 postcodeFormElement.style.display = 'none'; 115 } 116 117 118 63 64 YAHOO.util.Event.addListener('postcode1', 'keypress', box1Keypress ); 65 66 67 function mapClick(e) { 68 e = YAHOO.util.Event.getEvent(e); 69 var img = YAHOO.util.Event.getTarget(e); 70 var x = YAHOO.util.Event.getPageX(e); 71 var y = YAHOO.util.Event.getPageY(e); 72 var imgPos = YAHOO.util.Dom.getXY(img); 73 var tileX = x - imgPos[0]; 74 var tileY = y - imgPos[1]; 75 // Tiles are eee/nnn.jpg 76 var tile = img.src.substring( img.src.lastIndexOf("/") - 3 ); 77 var baseEasting = tile.substring(0, tile.indexOf("/"))-0; 78 var baseNorthing = tile.substring(tile.indexOf("/") + 1, tile.indexOf("."))-0; 79 var tileXratio = tileX/img.offsetWidth; 80 var tileYratio = 1 -(tileY/img.offsetHeight); 81 if (zoomLevel != 1) { 82 // Zoom in. 83 84 offsetGridX = Math.round((baseEasting -0 + tileXratio) * jumpIn[zoomLevel]); 85 offsetGridY = Math.round((baseNorthing -0 + tileYratio) * jumpIn[zoomLevel]); 86 87 zoomLevel = zoomLevel - 1; 88 prefix = prefixes[zoomLevel]; 89 fixZoomButton(); 90 refreshGrid(); 91 } else { 92 93 var easting = trimSixDigits(Math.round((baseEasting + tileXratio)*1000)); 94 var northing = trimSixDigits(Math.round((baseNorthing +tileYratio)*1000)); 95 96 YAHOO.util.Dom.setXY(markerElement, [(x-4), (y-11)]); 97 markerElement.style.visibility = 'visible'; 98 99 postcodeFormElement.style.display = 'block'; 100 YAHOO.util.Dom.setXY(postcodeFormElement, [Math.max(0, (x-50)), (y-180) < 0 ? (y+10):(y-180)]); 101 locationElement.innerHTML = easting + ', ' + northing ; 102 document.getElementById('easting').value = easting; 103 document.getElementById('northing').value = northing; 104 document.getElementById('returnX').value = offsetGridX; 105 document.getElementById('returnY').value = offsetGridY; 106 107 document.getElementById('postcode1').value = ""; 108 document.getElementById('postcode2').value = ""; 109 document.getElementById('postcode1').focus(); 110 } 111 } 112 113 YAHOO.util.Event.addListener('map', 'click', mapClick); 114 115 116 function closePostcodeWindow() { 117 postcodeFormElement.style.display = 'none'; 118 markerElement.style.display = 'none'; 119 } 119 120 120 121 function zoomOut() { … … 129 130 130 131 zoomLevel = zoomLevel + 1; 131 132 prefix = prefixes[zoomLevel]; 132 133 fixZoomButton(); 133 134 … … 144 145 145 146 zoomLevel = zoomLevel - 1; 146 147 prefix = prefixes[zoomLevel]; 147 148 148 149 fixZoomButton(); … … 159 160 } 160 161 } 161 var screenWidth = YAHOO.util.Dom.getViewportWidth();162 var screenHeight = YAHOO.util.Dom.getViewportHeight();163 var bottomLeft = new Array();164 162 165 163 function doResize() { … … 188 186 189 187 190 191 188 function initializePage() { 192 189 mapElement = document.getElementById('map'); … … 200 197 201 198 parseQueryString(); 202 203 prefix = prefixes[zoomLevel]; 199 fixZoomButton(); 200 201 prefix = prefixes[zoomLevel]; 202 doResize(); 204 203 } 205 204 … … 278 277 var successHandler = function(o){ 279 278 eval(o.responseText); 280 //alert(o.responseText);281 279 } 282 280 … … 332 330 document.getElementById("permalink").href = "#" + getLink(); 333 331 location.href = '#'+getLink(); 334 335 332 } 336 333
Note: See TracChangeset
for help on using the changeset viewer.