[Users] Adding WFS layers from Grid/Store to mappanel

gbrun gbrun at myopera.com
Fri Sep 9 08:19:23 CEST 2011


I'm not sure, but I would say that you need to make a GetMap request when  
you click on the "add to map" button.

Geoffrey


On Fri, 09 Sep 2011 05:22:16 +0200, Nomeneta Saili <nome.saili at gmail.com>  
wrote:

> Hi people,
>
> I have this code which creates a grid and store than loads my
> collection of WFS layers on my local Geoserver into the grid. However
> the Add to Map (mappanel) part is not working and i am not sure if its
> the right way to go about it. Any tips would be greatly apperciated.
>
> Thanks,
>
> Nome
>
> var grid1 = new Ext.grid.GridPanel({
>         		title: "Available WFS Layers",
> 			region: "east",
>         		renderTo: document.body,
>         		width: 800,
>         		height: 300,
>         		viewConfig: {forceFit: true},
>         		store: new GeoExt.data.WFSCapabilitiesStore({
>                 		url:
> "/geoserver/ows?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities",
>                 		protocolOptions: {version: "1.1.0"},
>         			fields: ['EPC_Assets'],
>                  		autoLoad: true
>         		}),
>         		columns: [
>             			{header: "Name", dataIndex: "name", sortable: true},
>             			{header: "Title", dataIndex: "title", sortable: true},
>             			{header: "Abstract", dataIndex: "abstract"}
>         		],
> 			bbar: [{
>         		    text: "Add To Map",
>         		    handler: function() {
>             		        grid.getSelectionModel().each(function(record) {
>                 		    var clone = record.clone();
>                 		    clone.get("layer").mergeNewParams({
>                     			format: "image/png",
>                     			transparent: true
>                 		    });
>                 	            mapPanel.layers.add(clone);
>                 	            mapPanel.map.zoomToExtent(
>                     	
> OpenLayers.Bounds.fromArray(clone.get("llbbox"))
>                 	            );
>             		        });
>         	            }
>     		        }]
>             	  });
>
> On Thu, Sep 8, 2011 at 1:25 AM,  <users-request at geoext.org> wrote:
>> Send Users mailing list submissions to
>>        users at geoext.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>        http://www.geoext.org/cgi-bin/mailman/listinfo/users
>> or, via email, send a message with subject or body 'help' to
>>        users-request at geoext.org
>>
>> You can reach the person managing the list at
>>        users-owner at geoext.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Users digest..."
>>
>>
>> Today's Topics:
>>
>>   1. GeoExt.Action (Button) to show/hide Layer (Kai Volland)
>>   2. Re: GeoExt.Action (Button) to show/hide Layer (gbrun)
>>   3. Copyright popup with google maps api v3 and GeoExt (Neil Penman)
>>   4. Re: Copyright popup with google maps api v3 and GeoExt
>>      (Andreas Hocevar)
>>   5. Re: GeoExt.Action (Button) to show/hide Layer (Kai Volland)
>>   6. Re: Copyright popup with google maps api v3 and GeoExt
>>      (Neil Penman)
>>   7. Re: GeoExt.Action (Button) to show/hide Layer (gbrun)
>>   8. Re: Tutorial / Documentation for Query Panels in GeoExt?
>>      (Philippe Rufin)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 08 Sep 2011 12:05:44 +0200
>> From: Kai Volland <kaivolland at web.de>
>> Subject: [Users] GeoExt.Action (Button) to show/hide Layer
>> To: users at geoext.org
>> Message-ID: <4E689378.3010309 at web.de>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Hi Users,
>>
>> i've some issues with using a Button to show/hide a Layer in my map.
>>
>> 1. "checked:true" doesn't work
>> 2. I get an error whne first check and uncheck the button:
>>             this.control is undefined
>>                  this.control.activate();
>>             this.control is undefined
>>                  this.control.deactivate();
>>
>> 3. Afterwards the button seems to work, but unchecking it doesn't affect
>> the Layer (it stays visible).
>>
>> CODE:
>>     var action1 = new GeoExt.Action({
>>         text: 'Sites',
>>         map: map,
>>         tooltip: 'NESPOS - SITES',
>>         enableToggle: true,
>>         handler: function(toggled){
>>             if (toggled) {
>>                 nespos.setVisibility(true);
>>             } else {
>>                 nespos.setVisibility(false);
>>             }
>>         },
>>         checked: true
>>     });
>>     actions["Sites"] = action1;
>>     toolbarItems.push(action1);
>>     toolbarItems.push("-");
>>
>>
>> Kind regards,
>>
>> Kai
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:  
>> http://www.geoext.org/pipermail/users/attachments/20110908/aa73a34b/attachment-0001.htm
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Thu, 08 Sep 2011 13:20:46 +0200
>> From: gbrun <gbrun at myopera.com>
>> Subject: Re: [Users] GeoExt.Action (Button) to show/hide Layer
>> To: users at geoext.org, "Kai Volland" <kaivolland at web.de>
>> Message-ID: <op.v1hlswvuyqc6xb at asensio.parc.local>
>> Content-Type: text/plain; charset=iso-8859-15; format=flowed;
>>        delsp=yes
>>
>> You try to use a GeoExt action. For this, you need to define an  
>> OpenLayers
>> control. That's why you received this 'undefined' message.
>>
>> Instead of GeoExt action, try to use a classic Ext button and it should
>> work (only if you don't have any OpenLayers control). For the "checked"
>> problem, I think you can use "pressed" instead.
>>
>> Geoffrey
>>
>>
>> On Thu, 08 Sep 2011 12:05:44 +0200, Kai Volland <kaivolland at web.de>  
>> wrote:
>>
>>> Hi Users,
>>>
>>> i've some issues with using a Button to show/hide a Layer in my map.
>>>
>>> 1. "checked:true" doesn't work
>>> 2. I get an error whne first check and uncheck the button:
>>>              this.control is undefined
>>>                   this.control.activate();
>>>              this.control is undefined
>>>                   this.control.deactivate();
>>>
>>> 3. Afterwards the button seems to work, but unchecking it doesn't  
>>> affect
>>> the Layer (it stays visible).
>>>
>>> CODE:
>>>      var action1 = new GeoExt.Action({
>>>          text: 'Sites',
>>>          map: map,
>>>          tooltip: 'NESPOS - SITES',
>>>          enableToggle: true,
>>>          handler: function(toggled){
>>>              if (toggled) {
>>>                  nespos.setVisibility(true);
>>>              } else {
>>>                  nespos.setVisibility(false);
>>>              }
>>>          },
>>>          checked: true
>>>      });
>>>      actions["Sites"] = action1;
>>>      toolbarItems.push(action1);
>>>      toolbarItems.push("-");
>>>
>>>
>>> Kind regards,
>>>
>>> Kai
>>
>>
>> --
>> Using Opera's revolutionary email client: http://www.opera.com/mail/
>>
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Thu, 8 Sep 2011 21:57:00 +1000
>> From: Neil Penman <neilpenman at gmail.com>
>> Subject: [Users] Copyright popup with google maps api v3 and GeoExt
>> To: users at geoext.org
>> Message-ID:
>>        
>>  <CAPCQpVoTYungonN5GNEeS=kAzOJHQjGAFSXC6G7nqo_qqNaBAg at mail.gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Hi,
>>
>> Is there a published example of GeoExt using google maps api version 3?  
>>  I
>> am getting the large popup copyright notice in the bottom left corner.  
>>  If
>> not any suggestions on how to hide this popup?
>>
>> Regards
>>
>> Neil
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:  
>> http://www.geoext.org/pipermail/users/attachments/20110908/01719504/attachment-0001.htm
>>
>> ------------------------------
>>
>> Message: 4
>> Date: Thu, 8 Sep 2011 13:58:52 +0200
>> From: Andreas Hocevar <ahocevar at opengeo.org>
>> Subject: Re: [Users] Copyright popup with google maps api v3 and
>>        GeoExt
>> To: Neil Penman <neilpenman at gmail.com>
>> Cc: users at geoext.org
>> Message-ID: <82688821-6F79-4679-B3A7-E53783F3B7D9 at opengeo.org>
>> Content-Type: text/plain; charset=us-ascii
>>
>> Hi,
>>
>> please upgrade to a newer version of OpenLayers, because the GMaps API  
>> version that Layer.Google.v3 in OpenLayers 2.10 was written for is no  
>> longer available.
>>
>> Andreas.
>>
>> On Sep 8, 2011, at 13:57 , Neil Penman wrote:
>>
>>> Hi,
>>>
>>> Is there a published example of GeoExt using google maps api version  
>>> 3?  I am getting the large popup copyright notice in the bottom left  
>>> corner.  If not any suggestions on how to hide this popup?
>>>
>>> Regards
>>>
>>> Neil
>>> _______________________________________________
>>> Users mailing list
>>> Users at geoext.org
>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>
>> --
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
>>
>>
>>
>> ------------------------------
>>
>> Message: 5
>> Date: Thu, 08 Sep 2011 14:06:32 +0200
>> From: Kai Volland <kaivolland at web.de>
>> Subject: Re: [Users] GeoExt.Action (Button) to show/hide Layer
>> To: users at geoext.org
>> Message-ID: <4E68AFC8.7000407 at web.de>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Thx Geoffrey!
>>
>> Problem 1 and 2 are solved.
>> But the third one still doesn't work. Is this function with "toggled"
>> the right way?
>>
>> Kai
>>
>>
>> Am 08.09.2011 13:20, schrieb gbrun:
>>> You try to use a GeoExt action. For this, you need to define an  
>>> OpenLayers
>>> control. That's why you received this 'undefined' message.
>>>
>>> Instead of GeoExt action, try to use a classic Ext button and it should
>>> work (only if you don't have any OpenLayers control). For the "checked"
>>> problem, I think you can use "pressed" instead.
>>>
>>> Geoffrey
>>>
>>>
>>> On Thu, 08 Sep 2011 12:05:44 +0200, Kai Volland<kaivolland at web.de>  
>>>  wrote:
>>>
>>>> Hi Users,
>>>>
>>>> i've some issues with using a Button to show/hide a Layer in my map.
>>>>
>>>> 1. "checked:true" doesn't work
>>>> 2. I get an error whne first check and uncheck the button:
>>>>               this.control is undefined
>>>>                    this.control.activate();
>>>>               this.control is undefined
>>>>                    this.control.deactivate();
>>>>
>>>> 3. Afterwards the button seems to work, but unchecking it doesn't  
>>>> affect
>>>> the Layer (it stays visible).
>>>>
>>>> CODE:
>>>>       var action1 = new GeoExt.Action({
>>>>           text: 'Sites',
>>>>           map: map,
>>>>           tooltip: 'NESPOS - SITES',
>>>>           enableToggle: true,
>>>>           handler: function(toggled){
>>>>               if (toggled) {
>>>>                   nespos.setVisibility(true);
>>>>               } else {
>>>>                   nespos.setVisibility(false);
>>>>               }
>>>>           },
>>>>           checked: true
>>>>       });
>>>>       actions["Sites"] = action1;
>>>>       toolbarItems.push(action1);
>>>>       toolbarItems.push("-");
>>>>
>>>>
>>>> Kind regards,
>>>>
>>>> Kai
>>>
>>
>>
>>
>> ------------------------------
>>
>> Message: 6
>> Date: Thu, 8 Sep 2011 22:11:08 +1000
>> From: Neil Penman <neilpenman at gmail.com>
>> Subject: Re: [Users] Copyright popup with google maps api v3 and
>>        GeoExt
>> To: Andreas Hocevar <ahocevar at opengeo.org>
>> Cc: users at geoext.org
>> Message-ID:
>>        
>>  <CAPCQpVr7p1NogNoWoEhHjXH7YeXiEg9jif5fUvimrD=ToT=38Q at mail.gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Perfect.  Thankyou!
>>
>> On Thu, Sep 8, 2011 at 9:58 PM, Andreas Hocevar  
>> <ahocevar at opengeo.org>wrote:
>>
>>> Hi,
>>>
>>> please upgrade to a newer version of OpenLayers, because the GMaps API
>>> version that Layer.Google.v3 in OpenLayers 2.10 was written for is no  
>>> longer
>>> available.
>>>
>>> Andreas.
>>>
>>> On Sep 8, 2011, at 13:57 , Neil Penman wrote:
>>>
>>> > Hi,
>>> >
>>> > Is there a published example of GeoExt using google maps api version  
>>> 3?
>>>  I am getting the large popup copyright notice in the bottom left  
>>> corner.
>>>  If not any suggestions on how to hide this popup?
>>> >
>>> > Regards
>>> >
>>> > Neil
>>> > _______________________________________________
>>> > Users mailing list
>>> > Users at geoext.org
>>> > http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>>
>>> --
>>> Andreas Hocevar
>>> OpenGeo - http://opengeo.org/
>>> Expert service straight from the developers.
>>>
>>>
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:  
>> http://www.geoext.org/pipermail/users/attachments/20110908/3ac43d38/attachment-0001.htm
>>
>> ------------------------------
>>
>> Message: 7
>> Date: Thu, 08 Sep 2011 14:15:44 +0200
>> From: gbrun <gbrun at myopera.com>
>> Subject: Re: [Users] GeoExt.Action (Button) to show/hide Layer
>> To: users at geoext.org
>> Message-ID: <op.v1hocitnyqc6xb at asensio.parc.local>
>> Content-Type: text/plain; charset=iso-8859-15; format=flowed;
>>        delsp=yes
>>
>> You're right! Wrong function!
>>
>> I currently use this one:
>>
>> toggleHandler: function (button, state){
>>        if (state == true){
>>          ********
>>        }else{
>>          ********
>>        }
>> }
>>
>> Geoffrey
>>
>>
>> On Thu, 08 Sep 2011 14:06:32 +0200, Kai Volland <kaivolland at web.de>  
>> wrote:
>>
>>> Thx Geoffrey!
>>>
>>> Problem 1 and 2 are solved.
>>> But the third one still doesn't work. Is this function with "toggled"
>>> the right way?
>>>
>>> Kai
>>>
>>>
>>> Am 08.09.2011 13:20, schrieb gbrun:
>>>> You try to use a GeoExt action. For this, you need to define an
>>>> OpenLayers
>>>> control. That's why you received this 'undefined' message.
>>>>
>>>> Instead of GeoExt action, try to use a classic Ext button and it  
>>>> should
>>>> work (only if you don't have any OpenLayers control). For the  
>>>> "checked"
>>>> problem, I think you can use "pressed" instead.
>>>>
>>>> Geoffrey
>>>>
>>>>
>>>> On Thu, 08 Sep 2011 12:05:44 +0200, Kai Volland<kaivolland at web.de>
>>>> wrote:
>>>>
>>>>> Hi Users,
>>>>>
>>>>> i've some issues with using a Button to show/hide a Layer in my map.
>>>>>
>>>>> 1. "checked:true" doesn't work
>>>>> 2. I get an error whne first check and uncheck the button:
>>>>>               this.control is undefined
>>>>>                    this.control.activate();
>>>>>               this.control is undefined
>>>>>                    this.control.deactivate();
>>>>>
>>>>> 3. Afterwards the button seems to work, but unchecking it doesn't
>>>>> affect
>>>>> the Layer (it stays visible).
>>>>>
>>>>> CODE:
>>>>>       var action1 = new GeoExt.Action({
>>>>>           text: 'Sites',
>>>>>           map: map,
>>>>>           tooltip: 'NESPOS - SITES',
>>>>>           enableToggle: true,
>>>>>           handler: function(toggled){
>>>>>               if (toggled) {
>>>>>                   nespos.setVisibility(true);
>>>>>               } else {
>>>>>                   nespos.setVisibility(false);
>>>>>               }
>>>>>           },
>>>>>           checked: true
>>>>>       });
>>>>>       actions["Sites"] = action1;
>>>>>       toolbarItems.push(action1);
>>>>>       toolbarItems.push("-");
>>>>>
>>>>>
>>>>> Kind regards,
>>>>>
>>>>> Kai
>>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at geoext.org
>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>
>>
>> --
>> Using Opera's revolutionary email client: http://www.opera.com/mail/
>>
>>
>> ------------------------------
>>
>> Message: 8
>> Date: Thu, 8 Sep 2011 14:25:36 +0200
>> From: Philippe Rufin <philippe.rufin at googlemail.com>
>> Subject: Re: [Users] Tutorial / Documentation for Query Panels in
>>        GeoExt?
>> To: Matt Priour <mpriour at kestrelcomputer.com>, users at geoext.org
>> Message-ID:
>>        
>>  <CAC1gkPxqGkhjOJ9PwfN7F_jAepw6kL6br9ubGb_eqZ99JGiKZQ at mail.gmail.com>
>> Content-Type: text/plain; charset="windows-1252"
>>
>> **
>> Hi Matt,
>>
>> thanks for the fast answer. I added the override-ext-ajax.js, the  
>> requests
>> are now send with the URL parameter:
>>
>> http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%2Fcgi-bin%2Fproxy.cgi%2Fwfs%3FVERSION%3D1.1.0%26REQUEST%3DDescribeFeatureType%26TYPENAME%3Dcases%26query%3D
>>
>> It seems, something?s still wrong since adding the js file didn?t help
>> making it work properly. The proxy.cgi URL is now in it twice, how did  
>> that
>> happen? How can I  "add the URL myself" here to just test?
>>
>> Considering the PrintProvider. I installed the required files properly  
>> and
>> the print() function works fine. For adding the print function to my map
>> panel, I used the following code:
>>
>>        var mapPanel = new GeoExt.MapPanel({
>>                title: "Case Mapping",
>>                region: "center",
>>                viewConfig: {forceFit: true},
>>                width: 800,
>>                height: 400,
>>                map: map,
>>                layers: [nrw,sttl,lvr,inz,vecLayer],
>>                bbar: ["->", {
>>                    text: "Print...",
>>                    handler: function() {
>>                        var printDialog = new Ext.Window({
>>                                items: [new GeoExt.PrintMapPanel({
>>                                    sourceMap: mapPanel,
>>                                    printProvider: new
>> GeoExt.data.PrintProvider({
>>                                        method: "POST",
>>                                        url: "/geoserver/pdf",
>>                                        listeners: {
>>                                        "loadcapabilities": function() {
>>                                        var printPage = new
>> GeoExt.data.PrintPage({
>>                    });
>>
>>            printPage.fit(mapPanel, true);
>>            printProvider.print(mapPanel, printPage);
>>                }
>>            }
>>    })
>>                                })],
>>                                bbar: [{
>>                                    text: "Create PDF",
>>                                    handler: function() {
>>                                        printDialog.items.get(0).print();
>>                                    }
>>                                }]
>>                        });
>>                    printDialog.show();
>>                    }
>>                }]
>>            });
>>
>> When using this, and trying the print button on the map panel, the  
>> following
>> error occurs:
>>
>> this.printProvider.layout is null
>>  var printSize = this.printProvider.layout.get("size");  (Line 240 in  
>> the
>> PrintMapPanel.js)
>>
>> Is it any configuration regarding the size of the map panel missing? I  
>> tried
>> several settings but didn?t really find out what it might be...
>>
>> Cheers,
>>
>> Philippe
>>
>>
>> On 05.09.2011 18:15, Matt Priour wrote:
>>
>>  1. You are missing the URL parameter in your proxy request. it should  
>> be:
>> ...proxy.cgi?url=<urlencoded full path to service>
>> for example:
>> http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%3A8080%2Fgeoserver%2Fwfs%3Fversion%3D1.1.0%26request%3DDescribeFeatureType%26typename%3Dcases
>>
>> This will be done automatically for you when using OL methods with your
>> OpenLayers.ProxyHost = ?proxy.cgi?url=?
>> This will also be handled automatically when you are using this
>> configuration and are using GeoExt?s ?override-ajax-ext.js? file which
>> forces all AJAX operations in ExtJS through the OpenLayers.Request class
>> If you don?t want to use this file and want to only primarily use  
>> GeoExt /
>> ExtJS methods for dynamically configuring the QueryPanel, then you will  
>> have
>> to add the url parameter yourself before the request is actually made.
>>
>> 2. Printing is chiefly done through the Mapfish/Geoserver Print Module  
>> on
>> the server side with client side interface provided by
>> GeoExt.data.PrintProvider and its associated classes
>> http://www.mapfish.org/doc/print/
>> http://docs.geoserver.org/latest/en/user/community/printing/index.html
>> http://dev.geoext.org/docs/examples.html#print-preview-window
>>
>> 3. Exporting data as CSV can be done as a WFS output format when using
>> Geoserver.
>> http://docs.geoserver.org/latest/en/user/services/wfs/outputformats.html
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:  
>> http://www.geoext.org/pipermail/users/attachments/20110908/437c6841/attachment.htm
>>
>> ------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at geoext.org
>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>
>>
>> End of Users Digest, Vol 32, Issue 11
>> *************************************
>>
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


More information about the Users mailing list