|
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="../theme/default/style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" /> <style type="text/css"> #wmc { width: 90%; height: 300px; } </style> <script src="../lib/Firebug/firebug.js"></script> <script src="../lib/OpenLayers.js"></script> <script type="text/javascript"> // no pink please OpenLayers.IMAGE_RELOAD_ATTEMPTS = 2; OpenLayers.Util.onImageLoadErrorColor = "transparent"; var format = new OpenLayers.Format.WMC({'layerOptions': {buffer: 0}}); var doc, context, map; function init() { var options = { maxExtent: new OpenLayers.Bounds(-130, 14, -60, 55) }; map = new OpenLayers.Map("map", options); var jpl = new OpenLayers.Layer.WMS( "NASA Global Mosaic", "http://t1.hypercube.telascience.org/cgi-bin/landsat7", {layers: "landsat7"}, { maxExtent: new OpenLayers.Bounds(-130, 14, -60, 55), maxResolution: 0.1, numZoomLevels: 4, minResolution: 0.02 } ); var vmap = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'}, { maxExtent: new OpenLayers.Bounds(-130, 14, -60, 55), maxResolution: 0.1, numZoomLevels: 4, minResolution: 0.02 } ); var roads = new OpenLayers.Layer.WMS( "Transportation Network", "http://lioapp.lrc.gov.on.ca/cubeserv/cubeserv.pl", {layers: "na_road:CCRS", transparent: "TRUE"}, { isBaseLayer: false, maxExtent: new OpenLayers.Bounds( -166.532, 4.05046, -0.206818, 70.287 ), displayInLayerSwitcher: false, opacity: 0.6, minScale: 32000000, numZoomLevels: 4, maxScale: 6200000 } ); var nexrad = new OpenLayers.Layer.WMS( "Radar 3:1", "http://columbo.nrlssc.navy.mil/ogcwms/servlet/WMSServlet/AccuWeather_Maps.wms", {layers: "3:1", transparent: "TRUE"}, { isBaseLayer: false, maxExtent: new OpenLayers.Bounds( -131.029495239, 14.5628967285, -61.0295028687, 54.562896728 ), opacity: 0.8, singleTile: true, maxResolution: 0.1, numZoomLevels: 4, minResolution: 0.02 } ); map.addLayers([jpl, vmap, roads, nexrad]); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.setCenter(new OpenLayers.LonLat(-95, 34.5), 1); }; function readWMC(merge) { var text = document.getElementById("wmc").value; if(merge) { try { map = format.read(text, {map: map}); } catch(err) { document.getElementById("wmc").value = err; } } else { map.destroy(); try { map = format.read(text, {map: "map"}); map.addControl(new OpenLayers.Control.LayerSwitcher()); } catch(err) { document.getElementById("wmc").value = err; } } } function writeWMC(merge) { try { var text = format.write(map); document.getElementById("wmc").value = text; } catch(err) { document.getElementById("wmc").value = err; } } </script> </head> <body onload="init()"> <h1 id="title">WMC Example</h1> <div id="tags"> </div> <p id="shortdesc"> Shows parsing of Web Map Context documents. </p> <div id="map" class="smallmap"></div> <button onclick="writeWMC();">write</button> <button onclick="readWMC();">read as new map</button> <button onclick="readWMC(true);">read and merge</button> <textarea id="wmc">paste WMC doc here</textarea> <div id="docs"> This is an example of parsing WMC documents. <br /> The format class has a layerOptions property, which can be used to control the default options of the layer when it is created by the parser. </div> </body> </html> |