1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <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 div { 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.activateControl(this.controls[0]); return div; }, }); var map; map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/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> <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> |