Template:Fragoria Map

From FragoriaWiki

(Difference between revisions)
Jump to: navigation, search
Line 43: Line 43:
       }
       }
 +
      // Normalizes the coords that tiles repeat across the x axis (horizontally)
 +
      // like the standard Google map tiles.
 +
      function getNormalizedCoord(coord, zoom) {
 +
        var y = coord.y;
 +
        var x = coord.x;
 +
        // tile range in one direction range is dependent on zoom level
 +
        // 0 = 1 tile, 1 = 2 tiles, 2 = 4 tiles, 3 = 8 tiles, etc
 +
        var tileRange = 1 << zoom;
-
google.maps.event.addListener(map,'center_changed',function() { checkBounds(); });
+
        // don't repeat across y-axis (vertically)
 +
        if (y < 0 || y >= tileRange) {
 +
          y = (y % tileRange + tileRange) % tileRange;
 +
        }
-
function checkBounds() {   
+
        // repeat across x-axis
-
    if(! allowedBounds.contains(map.getCenter())) {
+
        if (x < 0 || x >= tileRange) {
-
      var C = map.getCenter();
+
          x = (x % tileRange + tileRange) % tileRange;
-
      var X = C.lng();
+
        }
-
      var Y = C.lat();
+
-
      var AmaxX = allowedBounds.getNorthEast().lng();
+
        return {
-
      var AmaxY = allowedBounds.getNorthEast().lat();
+
          x: x,
-
      var AminX = allowedBounds.getSouthWest().lng();
+
          y: y
-
       var AminY = allowedBounds.getSouthWest().lat();
+
        };
 +
       }
-
      if (X < AminX) {X = AminX;}
 
-
      if (X > AmaxX) {X = AmaxX;}
 
-
      if (Y < AminY) {Y = AminY;}
 
-
      if (Y > AmaxY) {Y = AmaxY;}
 
-
 
-
      map.setCenter(new google.maps.LatLng(x, y));
 
-
    }
 
-
}
 
       </script>
       </script>
<body onload="initialize()">   
<body onload="initialize()">   

Revision as of 22:13, 2 April 2015

Fragoria Map

Personal tools
Date/Time
Server & Cross

Super-Cross Server