<%-- Created by IntelliJ IDEA. User: sbortman Date: Aug 7, 2009 Time: 8:54:13 AM To change this template use File | Settings | File Templates. --%> OMAR Raster Search <%-- --%> <%-- --%>
<%-- --%>
Map Center:


Geospatial Criteria
<%-- --%>

<%--
--%>
Temporal Criteria
<%-- --%>
  1. <%--
  2. --%> <%--
  3. --%>
  4. <%--
  5. --%>

<%--
--%> <%--
Metadata Criteria:

--%>
var Dom = YAHOO.util.Dom; var Event = YAHOO.util.Event; var map; var aoiLayer; var layout; function setupBaseLayer() { var baseLayer = new OpenLayers.Layer.WMS( "${baseWMS.title}", "${baseWMS.url}", {layers: '${baseWMS.layers}', format: 'image/jpeg' }, {buffer:1} ); map.addLayer(baseLayer); map.setBaseLayer(baseLayer); } function setupDataLayer() { var dataLayer = new OpenLayers.Layer.WMS( "${dataWMS.title}", "${dataWMS.url}", { layers: "${dataWMS.layers}", format: 'image/png', transparent: true }, {'isBaseLayer': false}, {buffer:1} ); map.addLayer(dataLayer); } function clearAOI( e ) { aoiLayer.destroyFeatures(); // HACK - Need a better way to this $("aoiMinLon").value = "" $("aoiMaxLat").value = "" $("aoiMaxLon").value = "" $("aoiMinLat").value = "" } function setAOI( e ) { var geom = e.feature.geometry; var bounds = geom.getBounds(); var feature = new OpenLayers.Feature.Vector(geom); // HACK - Need a better way to this $("aoiMinLon").value = bounds.left $("aoiMaxLat").value = bounds.top $("aoiMaxLon").value = bounds.right $("aoiMinLat").value = bounds.bottom aoiLayer.destroyFeatures(); aoiLayer.addFeatures(feature, {silent: true}); } function setupAreaOfInterestLayer() { aoiLayer = new OpenLayers.Layer.Vector("Area of Interest"); aoiLayer.events.register("featureadded", aoiLayer, setAOI); map.addLayer(aoiLayer); var aoiMinLon = "${queryParams?.aoiMinLon ?: 0}"; var aoiMinLat = "${queryParams?.aoiMinLat ?: 0}"; var aoiMaxLon = "${queryParams?.aoiMaxLon ?: 0}"; var aoiMaxLat = "${queryParams?.aoiMaxLat ?: 0}"; if ( aoiMinLon && aoiMinLat && aoiMaxLon && aoiMaxLat ) { var bounds = new OpenLayers.Bounds( aoiMinLon, aoiMinLat, aoiMaxLon, aoiMaxLat ); var feature = new OpenLayers.Feature.Vector(bounds.toGeometry()); aoiLayer.addFeatures(feature, {silent: true}); } } function setupToolbar() { var zoomBox = new OpenLayers.Control.ZoomBox( {title:"Zoom into an area by clicking and dragging"}); var polyOptions = {sides: 4, irregular: true}; var polygonControl = new OpenLayers.Control.DrawFeature(aoiLayer, OpenLayers.Handler.RegularPolygon, {handlerOptions: polyOptions, title: "Specify Area of Interest"}); var button1 = new OpenLayers.Control.Button({title:'Clear Area of Interest', displayClass: "olControlClearAreaOfInterest", trigger: clearAOI }); var container = $("panel2"); var panel = new OpenLayers.Control.Panel( {div: container,defaultControl: zoomBox,'displayClass': 'olControlPanel'} ); var nav = new OpenLayers.Control.NavigationHistory({ nextOptions: {title: "Next View"}, previousOptions: {title: "Previous View"} }); map.addControl(nav); panel.addControls([ new OpenLayers.Control.MouseDefaults({title:'Drag to recenter map'}), zoomBox, nav.next, nav.previous, new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"}), polygonControl, button1, ]); map.addControl(panel); } function setupMapView() { var viewMinLon = "${queryParams?.viewMinLon ?: -180}"; var viewMinLat = "${queryParams?.viewMinLat ?: -90}"; var viewMaxLon = "${queryParams?.viewMaxLon ?: 180}"; var viewMaxLat = "${queryParams?.viewMaxLat ?: 90}"; var bounds = new OpenLayers.Bounds(viewMinLon, viewMinLat, viewMaxLon, viewMaxLat); var zoom = map.getZoomForExtent(bounds, true); map.setCenter(bounds.getCenterLonLat(), zoom); } function setupMap() { map = new OpenLayers.Map('map', {controls: []}); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.PanZoom()); //map.addControl(new OpenLayers.Control.NavToolbar()); map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.Scale()); map.addControl(new OpenLayers.Control.ScaleLine()); map.events.register("moveend", map, setCenterText); map.events.register("zoomend", map, setView ); setupBaseLayer(); setupDataLayer(); setupAreaOfInterestLayer(); setupToolbar(); setupMapView(); //map.zoomToMaxExtent(); } function goto() { var centerLon = $("centerLon").value; var centerLat = $("centerLat").value; var zoom = map.getZoom(); var center = new OpenLayers.LonLat(centerLon, centerLat); map.setCenter(center, zoom); } function setView( e ) { var bounds = map.getExtent(); $("viewMinLon").value = bounds.left; $("viewMaxLat").value = bounds.top; $("viewMaxLon").value = bounds.right; $("viewMinLat").value = bounds.bottom; } function setCenterText( e ) { var center = map.getCenter(); $("centerLon").value = center.lon; $("centerLat").value = center.lat; } Event.onDOMReady(function() { layout = new YAHOO.widget.Layout({ units: [ { position: 'top', height: 70, body: 'top1', header: 'Top', gutter: '5px', collapse: true, resize: true }, { position: 'right', header: 'Right', width: 300, resize: true, gutter: '5px', collapse: true, scroll: true, body: 'right1', animate: true }, { position: 'bottom', header: 'Bottom', height: 300, resize: true, body: 'bottom1', gutter: '5px', collapse: true }, { position: 'left', header: 'Left', width: 450, resize: true, body: 'left1', gutter: '5px', collapse: true, scroll: true, animate: true }, { position: 'center', body: 'center1' } ] }); layout.on('render', function() { setupMap(); }); layout.subscribe("resize", function( ev ) { var c = this.getUnitByPosition('center'); var mapWidth = c.get('width'); var mapHeight = c.get('height'); Dom.get("map").style.width = mapWidth + "px"; Dom.get("map").style.height = mapHeight + "px"; map.updateSize(); }); layout.render(); layout.getUnitByPosition('right').collapse(); layout.getUnitByPosition('bottom').collapse(); changeSize(); });