I'm using OpenLayers to display a map in a web page. I am using tiles from CloudMade, but the same issues occur with the Mapnik tiles from OpenStreetMap.
I'm trying to restrict the map so that the user cannot zoom all the way out to world view -- I want them to stay at roughly a city level zoom at minimum.
I have tried using the minZoomLevel
/ maxZoomLevel
/ numZoomLevels
properties; only the maxZoomLevel
and numZoomLevels
properties seem to work, whereas the minZoomLevel
property seems to be completely ignored.
Is there another way to accomplish this?
You could override the isValidZoomLevel
function. Something like this (not tested):
OpenLayers.Map.isValidZoomLevel = function(zoomLevel) {
return ( (zoomLevel != null) &&
(zoomLevel >= 2) && // set min level here, could read from property
(zoomLevel < this.getNumZoomLevels()) );
}
EDIT
Or you would need to override the available resolutions, see the example here: http://dev.openlayers.org/examples/zoomLevels.html