<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="apple-mobile-web-app-capable" content="yes"> <title>A navToolbar with an alwaysZoom ZoomBox</title> <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> <link rel="stylesheet" href="style.css" type="text/css"> <!-- Override the position of the toolbar to make it fit in a small map --> <style type='text/css'> .olControlNavToolbar { top: 150px; } </style> <script src="../lib/OpenLayers.js"></script> <script type="text/javascript"> function init() { //Creation of a custom panel with a ZoomBox control with the alwaysZoom option sets to true OpenLayers.Control.CustomNavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, { /** * Constructor: OpenLayers.Control.NavToolbar * Add our two mousedefaults controls. * * Parameters: * options - {Object} An optional object whose properties will be used * to extend the control. */ initialize: function(options) { OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]); this.addControls([ new OpenLayers.Control.Navigation(), //Here it come new OpenLayers.Control.ZoomBox({alwaysZoom:true}) ]); // To make the custom navtoolbar use the regular navtoolbar style this.displayClass = 'olControlNavToolbar' }, /** * Method: draw * calls the default draw, and then activates mouse defaults. */ draw: function() { var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); this.defaultControl = this.controls[0]; return div; } }); var map; map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} ); map.addLayers([wms]); map.zoomToMaxExtent(); var panel = new OpenLayers.Control.CustomNavToolbar(); map.addControl(panel); } </script> </head> <body onload="init()"> <h1 id="title">A navToolbar with an alwaysZoom ZoomBox</h1> <div id="tags"> navigation toolbar </div> <p id="shortdesc"> Demo of a custom NavToolbar which uses a zoomBox tool that always zoom in even when the zoom box is too big. </p> <div id="map" class="smallmap"> </div> </body> </html>