From FragoriaWiki
(Difference between revisions)
|
|
| Line 71: |
Line 71: |
| | y: y | | y: y |
| | }; | | }; |
| - | }
| |
| - |
| |
| - | // Add a move listener to restrict the bounds range
| |
| - | GEvent.addListener(map, "move", function() {
| |
| - | checkBounds();
| |
| - | });
| |
| - |
| |
| - | // The allowed region which the whole map must be within
| |
| - | var allowedBounds = new GLatLngBounds(new GLatLng(-50,84), new GLatLng(50,88));
| |
| - |
| |
| - | // If the map position is out of range, move it back
| |
| - | function checkBounds() {
| |
| - |
| |
| - | // Perform the check and return if OK
| |
| - | if (allowedBounds.contains(map.getCenter())) {
| |
| - | return;
| |
| - | }
| |
| - |
| |
| - | // It`s not OK, so find the nearest allowed point and move there
| |
| - | var C = map.getCenter();
| |
| - | var X = C.lng();
| |
| - | var Y = C.lat();
| |
| - |
| |
| - | var AmaxX = allowedBounds.getNorthEast().lng();
| |
| - | var AmaxY = allowedBounds.getNorthEast().lat();
| |
| - | var AminX = allowedBounds.getSouthWest().lng();
| |
| - | 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;}
| |
| - | //alert ("Restricting "+Y+" "+X);
| |
| - | map.setCenter(new GLatLng(Y,X));
| |
| | } | | } |
| | | | |
Revision as of 21:11, 3 April 2015
Fragoria Map