Skip to content

Instantly share code, notes, and snippets.

@lastguest
Created September 11, 2014 13:38
Show Gist options
  • Save lastguest/fa7c4cb7fb4a53616e01 to your computer and use it in GitHub Desktop.
Save lastguest/fa7c4cb7fb4a53616e01 to your computer and use it in GitHub Desktop.
Google Maps : Block Pan&Zoom
// Init
google.maps.event.addDomListener(window, 'load', function() {
var map_container = document.getElementById("map-canvas");
var minZoomLevel = 2;
var startZoomLevel = 8;
var map = new google.maps.Map(map_container,{
center: new google.maps.LatLng(-34.397, 150.644),
zoom: startZoomLevel
});
// Limit Panning
google.maps.event.addListener(map, 'center_changed', function() {
var latNorth = map.getBounds().getNorthEast().lat();
var latSouth = map.getBounds().getSouthWest().lat();
var newLat;
if( latNorth < 85 && latSouth > -85) {
return;
} else {
if( latNorth > 85 && latSouth < -85){
return;
} else {
(latNorth > 85) && (newLat = map.getCenter().lat() - (latNorth-85));
(latSouth < -85) && (newLat = map.getCenter().lat() - (latSouth+85));
}
}
newLat && map.setCenter(new google.maps.LatLng( newLat ,map.getCenter().lng() ));
});
// Limit Zoom
google.maps.event.addListener(map, 'zoom_changed', function() {
if (map.getZoom() < minZoomLevel) map.setZoom(minZoomLevel);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment