Changeset 60


Ignore:
Timestamp:
Oct 16, 2006, 2:16:16 PM (13 years ago)
Author:
David Sheldon
Message:

Merge postcode.js into mapTiles.js, more IE work.

Location:
trunk/npemap.org.uk/static/tiles
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/npemap.org.uk/static/tiles/map.html

    r50 r60  
    99<script src="dom.js"></script>
    1010<script src="connection.js"></script>
     11<script src="event.js"></script>
    1112<!-- Our functions -->
    1213<script src="mapTiles.js"></script>
    13 <script src="postcode.js"></script>
    1414        <h1 id=theTitle>New popular mapping</h1>
    1515
  • trunk/npemap.org.uk/static/tiles/mapTiles.js

    r58 r60  
    11
    2 /* File: gridFunction.js
     2/* File: mapTiles.js
    33*/
    44var size;   // Size of array grid in each dimension
     
    3434
    3535
     36
     37var mapContainerElement;
     38var mapElement;
     39var markerElement;
     40var postcodeFormElement;
     41
     42
     43function go() {
     44                mapElement = document.getElementById('map');
     45                mapContainerElement = document.getElementById('map_container');
     46                markerElement = document.getElementById('marker');
     47                postcodeFormElement = document.getElementById('postcode_form');
     48                locationElement = document.getElementById('location');
     49                mapElement.onclick = function(e) {
     50                        e = YAHOO.util.Event.getEvent(e);
     51                        var img = YAHOO.util.Event.getTarget(e);
     52                        var x = YAHOO.util.Event.getPageX(e);
     53                        var y = YAHOO.util.Event.getPageY(e);
     54                        var imgPos = YAHOO.util.Dom.getXY(img);
     55                        var tileX = x - imgPos[0];
     56                        var tileY = y - imgPos[1];
     57                        // Tiles are eee/nnn.jpg
     58                        var tile = img.src.substring( img.src.lastIndexOf("/") - 3 );
     59                        var baseEasting = tile.substring(0, tile.indexOf("/"));
     60                        var baseNorthing = tile.substring(tile.indexOf("/") + 1, tile.indexOf("."));
     61                        var tileXratio =  tileX/img.offsetWidth;
     62                        var tileYratio = 1 -(tileY/img.offsetHeight);
     63                        if (zoomLevel != 1) {
     64                                // Zoom in.
     65
     66                                offsetGridX = Math.round((baseEasting -0 + tileXratio) * jumpIn[zoomLevel]);
     67                                offsetGridY = Math.round((baseNorthing -0 + tileYratio) * jumpIn[zoomLevel]);
     68
     69                                zoomLevel = zoomLevel - 1;
     70                                prefix = prefixes[zoomLevel];
     71                                refreshGrid();
     72                        } else {
     73                       
     74                                var easting = baseEasting + ('000' + Math.round(tileXratio*1000)).substr(-3)
     75                                var northing = baseNorthing + ('000' + Math.round(tileYratio*1000)).substr(-3)
     76
     77                                YAHOO.util.Dom.setXY(markerElement, [(x-4), (y-11)]);
     78                                markerElement.style.visibility = 'visible';
     79                               
     80                                postcodeFormElement.style.display = 'block';
     81                                YAHOO.util.Dom.setXY(postcodeFormElement, [Math.max(0, (x-50)), (y-180) < 0 ? (y+10):(y-180)]);
     82                                locationElement.innerHTML = easting + ', ' + northing
     83                                document.getElementById('easting').value = easting;
     84                                document.getElementById('northing').value = northing;
     85                                document.getElementById('returnX').value = offsetGridX;
     86                                document.getElementById('returnY').value = offsetGridY;
     87
     88                                document.getElementById('postcode').value = "";
     89                                document.getElementById('postcode').focus();
     90                        }
     91                }
     92        }
     93       
     94        function closePostcodeWindow() {
     95                postcodeFormElement.style.display = 'none';
     96        }
     97
     98       
    3699
    37100
Note: See TracChangeset for help on using the changeset viewer.