Template:Fragoria Map
From FragoriaWiki
(Difference between revisions)
												
			
		| Line 45: | Line 45: | ||
| 			new google.maps.LatLng(50, -80) | 			new google.maps.LatLng(50, -80) | ||
| 		); | 		); | ||
| - | 		var  | + | 		var boundLimits = { | 
| + | 			maxLat : allowedBounds.getNorthEast().lat(), | ||
| + | 			maxLng : allowedBounds.getNorthEast().lng(), | ||
| + | 			minLat : allowedBounds.getSouthWest().lat(), | ||
| + | 			minLng : allowedBounds.getSouthWest().lng() | ||
| + | 		}; | ||
| + | 		var lastValidCenter = map.getCenter(); | ||
| + | 		var newLat, newLng; | ||
| 		google.maps.event.addListener(map, 'center_changed', function() { | 		google.maps.event.addListener(map, 'center_changed', function() { | ||
| - | 			if (allowedBounds.contains( | + | 			center = map.getCenter(); | 
| - | // still within valid bounds, so save the last valid position | + | 			if (allowedBounds.contains(center)) { | 
| + | 				// still within valid bounds, so save the last valid position | ||
| 				lastValidCenter = map.getCenter(); | 				lastValidCenter = map.getCenter(); | ||
| - | 				return;   | + | 				return; | 
| 			} | 			} | ||
| - | + | 		newLat = lastValidCenter.lat(); | |
| - | 			map.panTo( | + | 		newLng = lastValidCenter.lng(); | 
| + | 		if(center.lng() > boundLimits.minLng && center.lng() < boundLimits.maxLng){ | ||
| + | 			newLng = center.lng(); | ||
| + | 		} | ||
| + | 		if(center.lat() > boundLimits.minLat && center.lat() < boundLimits.maxLat){ | ||
| + | 			newLat = center.lat(); | ||
| + | 		} | ||
| + | 		map.panTo(new google.maps.LatLng(newLat, newLng)); | ||
| 		}); | 		}); | ||
Revision as of 21:23, 3 April 2015

 
				
				
				
				
				
	
			