Template:Fragoria Map
From FragoriaWiki
(Difference between revisions)
| Line 39: | Line 39: | ||
map.mapTypes.set('moon', moonMapType); | map.mapTypes.set('moon', moonMapType); | ||
map.setMapTypeId('moon'); | map.setMapTypeId('moon'); | ||
| + | |||
| + | // Bounds | ||
| + | var strictBounds = new google.maps.LatLngBounds( | ||
| + | new google.maps.LatLng(-90, 80), | ||
| + | new google.maps.LatLng(90, -89.999) | ||
| + | ); | ||
| + | |||
| + | // Listen for the CENTER_CHANGED event | ||
| + | |||
| + | google.maps.event.addListener(map, 'center_changed', function() { | ||
| + | if (strictBounds.contains(map.getCenter())) return; | ||
| + | |||
| + | // We're out of bounds - Move the map back within the bounds | ||
| + | |||
| + | var c = map.getCenter(), | ||
| + | x = c.lng(), | ||
| + | y = c.lat(), | ||
| + | maxX = strictBounds.getNorthEast().lng(), | ||
| + | maxY = strictBounds.getNorthEast().lat(), | ||
| + | minX = strictBounds.getSouthWest().lng(), | ||
| + | minY = strictBounds.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 FragotownMarker = new google.maps.Marker({ | var FragotownMarker = new google.maps.Marker({ | ||
Revision as of 04:09, 5 April 2015
Coordinates

