[OpenLayers-Users] zooming out past '0', or making zoom:0 display whole image

thedamon damuma at gmail.com
Wed Feb 20 08:22:50 PST 2013


I am having an issue where I want to use zoomToMaxExtent(), but it isn't
showing the whole map (or in this case, an image). I notice that when it is
zoomed out but not far enough to show the whole image, it is returning the
zoom level as 0. I guess I cannot zoom negative, but why does it think this
is 0 zoom? all the images are the same number of pixels as their longest
dimension, so I don't know why there is so much difference in where zoom
level 0 is.

This is my code:

function render_details(artwork, markers){
	var img = new Image();
	img.src = artwork.detail;

	img.onload = function(){
		

		var artWidth = img.width;
		var artHeight = img.height;

		var maxExtent = new OpenLayers.Bounds(0, 0, artWidth,
				artHeight);

		var graphic = new OpenLayers.Layer.Image(
			'Title',
			img.src,
			//new OpenLayers.Bounds(150, 0, 1080, 240),
			maxExtent,
			new OpenLayers.Size(244, getDetailsY(artWidth,artHeight)),
			 {numZoomLevels: 4, isBaseLayer: true, ratio : 1.0}
		);

		map = new OpenLayers.Map('detailsdiv', {
			projection : 'EPSG:3785',
			units : 'm',
			fractionalZoom : true,
			maxResolution: Math.pow(2, graphic.numberOfTiers - 1),
			numZoomLevels : graphic.numberOfTiers,
			controls: [
				 new OpenLayers.Control.TouchNavigation({
						dragPanOptions: {
							enableKinetic: true
						}
				 })
			]
		});


		
		map.addLayers([graphic]);

		//go back to where the map last was if mapbounds is set (as in when
returning from looking at pin details). BUG: will zoom one level back on
mobile, but not desktop.
		if (mapbounds){
			map.zoomToExtent(mapbounds);
			mapbounds = false;
		} else {

			map.zoomToMaxExtent();
			map.zoomOut();

			//set maximum default zoom.
			maxDefaultZoom = 9;
			zoom = map.getZoom();
			if (zoom > maxDefaultZoom){
				map.zoomTo (maxDefaultZoom);
			}
		}
	};
}



--
View this message in context: http://osgeo-org.1560.n6.nabble.com/zooming-out-past-0-or-making-zoom-0-display-whole-image-tp5035569.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.


More information about the Users mailing list