Template:Fragoria Map

From FragoriaWiki

(Difference between revisions)
Jump to: navigation, search
Line 40: Line 40:
map.setMapTypeId('moon');
map.setMapTypeId('moon');
-
// bounds of the desired area
+
  // Bounds for North America
-
var allowedBounds = new google.maps.LatLngBounds(
+
  var allowedBounds = new google.maps.LatLngBounds(
-
new google.maps.LatLng(50, 80),  
+
    new google.maps.LatLng(-50, 80),  
-
new google.maps.LatLng(-50, -80)
+
    new google.maps.LatLng(50, -80));
-
);
+
-
var lastValidCenter = map.getCenter();
+
-
google.maps.event.addListener(map, 'center_changed', function() {
+
  // Listen for the dragend event
-
    if (allowedBounds.contains(map.getCenter())) {
+
  google.maps.event.addListener(map, 'dragend', function() {
-
        // still within valid bounds, so save the last valid position
+
    if (allowedBounds.contains(map.getCenter())) return;
-
        lastValidCenter = map.getCenter();
+
-
        return;  
+
-
    }
+
-
    // not valid anymore => return to last valid position
+
    // Out of bounds - Move the map back within the bounds
-
    map.panTo(lastValidCenter);
+
 
-
});
+
    var c = map.getCenter(),
 +
        x = c.lng(),
 +
        y = c.lat(),
 +
        maxX = allowedBounds.getNorthEast().lng(),
 +
        maxY = allowedBounds.getNorthEast().lat(),
 +
        minX = allowedBounds.getSouthWest().lng(),
 +
        minY = allowedBounds.getSouthWest().lat();
 +
 
 +
    if (x < minX) x = minX;
 +
    if (x > maxX) x = maxX;
 +
    if (y < minY) y = minY;
 +
    if (y > maxY) y = maxY;
 +
 
 +
    map.setCenter(new google.maps.LatLng(y, x));
 +
  });
 +
 
 +
  // Limit the zoom level
 +
  google.maps.event.addListener(map, 'zoom_changed', function() {
 +
    if (map.getZoom() < minZoomLevel) map.setZoom(minZoomLevel);
 +
  });
var marker = new google.maps.Marker({
var marker = new google.maps.Marker({

Revision as of 21:53, 3 April 2015

Fragoria Map

Personal tools
Date/Time
Server & Cross

Super-Cross Server