Changeset 229


Ignore:
Timestamp:
03/18/09 18:47:08 (9 years ago)
Author:
dwins
Message:

Update GeoExplorer to have just one GetFeatureInfo control and to have the popups it creates be anchored to the map.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/opengeo/drake/trunk/apps/geoexplorer/index.html

    r225 r229  
    2323                load: function() {
    2424                    this.map = new OpenLayers.Map();
    25                     this.selectionLayer = new OpenLayers.Layer.Vector('Selection', { });
     25                    this.selectionLayer = new OpenLayers.Layer.Vector('Selection', { displayInLayerSwitcher: false});
    2626                    this.map.addLayers([
    2727                        new OpenLayers.Layer.WMS("TOPP States",
     
    4444                    });
    4545
    46                     var highlight = new OpenLayers.Control.WMSGetFeatureInfo('/geoserver/wms', {
    47                         hover: true,
    48                         title: 'Highlight features by hovering',
    49                         layers: 'topp:states',
    50                         infoFormat: 'application/vnd.ogc.gml',
    51                         format: new OpenLayers.Format.WMSGetFeatureInfo({
    52                             typeName: 'states',
    53                             featureNS: 'http://www.openplans.org/topp'
    54                         })
    55                     });
    56 
    5746                    identify.events.register('getfeatureinfo', this,
    5847                        function(evt) {
     
    6049                                ? 'Found ' + evt.features.length + ' features'
    6150                                : evt.text;
    62                             var win = new Ext.Window({
     51                            var lonLat = GeoExplorer.map.getLonLatFromPixel(evt.clickPosition);
     52                            var win = new GeoExt.popup.Popup({
    6353                                html: html,
    64                                 title: "Feature Info"
     54                                title: "Feature Info",
     55                                width: 250,
     56                                feature: new OpenLayers.Feature.Vector(
     57                                    new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat)
     58                                )
    6559                            });
    66                             GeoExplorer.mapPanel.add(win);
     60                            console.log(evt.clickPosition);
     61                            console.log(lonLat);
     62                            console.log(win);
     63                            win.addToMapPanel(GeoExplorer.mapPanel);
    6764                            win.show();
    6865                        }
    6966                    );
    7067
    71                     highlight.events.register('getfeatureinfo', this,
    72                         function(evt){
    73                             GeoExplorer.selectionLayer.destroyFeatures();
    74                             if (evt.features){
    75                                 GeoExplorer.selectionLayer.addFeatures(evt.features);
    76                             }
    77                         }
    78                     );
    79 
    8068                    this.map.addControl(identify);
    81                     this.map.addControl(highlight);
    8269
    8370                    var idButton = new Ext.Button({
     
    9481                    });
    9582
    96                     var selectButton = new Ext.Button({
    97                         text: 'Select',
    98                         enableToggle: true
    99                     });
    100 
    101                     selectButton.on('toggle', function(btn, pressed){
    102                         if (pressed){
    103                             highlight.activate();
    104                         } else {
    105                             highlight.deactivate();
    106                         }
    107                     });
    108 
    10983                    this.mapPanel = new GeoExt.MapPanel({
    11084                        map: this.map,
    11185                        region: 'center',
    112                         tbar: ['->', selectButton, idButton]
     86                        tbar: ['->', idButton]
    11387                    });
    11488
     
    131105                GeoExplorer.load();
    132106            });
    133 
    134107        </script>
    135108    </head>
Note: See TracChangeset for help on using the changeset viewer.