Template:Fragoria Map
From FragoriaWiki
(Difference between revisions)
Line 40: | Line 40: | ||
map.setMapTypeId('moon'); | map.setMapTypeId('moon'); | ||
- | + | // Bounds | |
- | + | var allowedBounds = new google.maps.LatLngBounds( | |
- | + | new google.maps.LatLng(-50, 80), | |
- | + | new google.maps.LatLng(50, -80)); | |
+ | // Listen for the dragend event | ||
+ | google.maps.event.addListener(map, 'dragend', function() { | ||
+ | if (allowedBounds.contains(map.getCenter())) return; | ||
- | + | // Out of bounds - Move the map back within the bounds | |
- | + | 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:56, 3 April 2015