see comments below

Hi Oliver,
I've tried the code you sent, and I've added a simple echo (or printf) to
see, on the fly, the results of the getValue instruction, well it seems that
the filterGetRequest()
has not ever been called.
So I've copied the same code in the filterPostRequest(), well, the function
is called and the echo returns the variable layer as empty (!).

you will only have something in the layers variable in filterPostRequest if the form was sent via POST

try to do do a print_r($request) in filterPostRequest and filterGetRequest so you know what kind of values are returned and how

there must be something in there.

regards
Oliver


I performed a lot of test by starting from different initial conditions:
all layers unselected, other layers selected, all layer selected and so on.
No way.


It's weird to me, becouse this feature is very useful, so I think that there
is something wrong in my operations but I can't see the way.

what do you suggest ?

thanks a lot for your attention and best regards, home my feedback could be
useful for you.

Giu


--------- Original Message --------
Da: Oliver Christen <[EMAIL PROTECTED]>
To: cartoweb-users@lists.maptools.org <cartoweb-users@lists.maptools.org>
Oggetto: Re: [Cartoweb-users] how to change layer selection by code in a
plugIn
Data: 29/08/07 10:20

>


Hi Giuseppe

After looking at the code in ClientLayers, it seems layer_select can only
be
used via GET and not POST, so this wont work that way.
When sending the form via POST, the array list is passed in parameter so
you
should be able to add the layer wanted via filterPostRequest
Try something like that:

public function filterPostRequest(FilterRequestModifier $request) {
    $layerList = $request->getValue('layers');
    $newLayers =
array('CAR_Group','VIN_layer_1','VIN_layer_2','VIN_layer_2');
    $newLayerList = array_merge($layerList, $newLayers);
    $request->setValue('layers', $newLayerList);
}

By the way, 'recenter_bbox' and 'recenter_scale' are exclusive, its either

one or another but not both.  'recenter_bbox' calculate automaticaly the
scale based on the bbox.

And show_crosshair will NOT be triggered when using a 'recenter_bbox',
only
with 'recenter_scale'  or recenter_x/recenter_y

Hope this cover all the issues here.

regards
Oliver


>
>
> Hi Oliver,
> I red the doc, but I was not able to get my target.
> I performed some tests amd I send you my code. Only the recenter option
> works well.
> My plugIn let the user to choose a name of a building which has been
> selected by a quary and linked to recenterBox, so when the user click > on
> one
> item of the displayed list of buildings the map is recentered on it.
> I'm working on Cartoweb 3.2 in Win env.I tried to put the values in a
> direct
> mode both with one-quote and double quotes and as int value (for the
> crosshair 1 or '1' or "1" , but nothing ... in $sel_layers there is the
> real
> name of the layer and not the label. I tried both with a group name and
> with
> a list of elementary layers .
> Any suggestion/correction ?
>
> thanks in advance and best regards
>
> Giu
>
> class myNewPlugin extends  ClientPlugin implements  Sessionable,
> GuiProvider, FilterProvider
> {
> ...
>
>  public function filterPostRequest(FilterRequestModifier $request) {
>
> ...
>    $recenterBbox= "$x1, $y1, $x2, $y2";
>    $cross_ok ="1";
>    $sel_layers="CAR_Group,VIN_layer_1,VIN_layer_2,VIN_layer_2";
>
>    $request->setValue('show_crosshair',  $cross_ok);
>    $request->setValue('recenter_scale',  "2000");
>    $request->setValue('recenter_bbox', $recenterBbox);
>    $request->setValue('layer_select',$sel_layers);
>
>
>  }
>
> ...
>
>
> }
>
>  --------- Original Message --------
>  Da: Oliver Christen <[EMAIL PROTECTED]>
>  To: cartoweb-users@lists.maptools.org
<cartoweb-users@lists.maptools.org>
>  Oggetto: Re: [Cartoweb-users] how to change layer selection by code in
a
> plugIn
>  Data: 27/08/07 11:24
>
>  >
>> >
>> >
>> > Hi
>> >
>> > maybe you can use the filter layer_select and layer_unselect
>> > see
>> >
>>
>
http://www.cartoweb.org/doc_head/docbook/xhtml/dev.newplugin.html#dev.newplugin.special.filters
>> >
>> > regards
>> > Oliver
>> >
>> >
>> >
>> > > Hi,
>> > > I'd like to know if there is a way that forces a layer to be >> > > hidden

>> > > or
>> > > displayed by code ie: I wrote a plugin which returns a list of
> buildings
>> > > which have all a common item,this item is also represented by a
>> > > layer.
>> Now
>> > > I'd like that on quering into my db, if there are buildings which
>> matches
>> > > an
>> > > item, I can set a layer to be displayed.
>> > > Thanks in advance
>> > > Giu
>> > > --
>> > > Email.it, the professional e-mail, gratis per te:
> http://www.email.it/f
>> > >
>> > > Sponsor:
>> > > In REGALO un GIOCO! Scegli GPBikes 3D,Bubble Boom, Rock City >> > > Empire
>> > > Clicca qui:
> http://adv.email.it/cgi-bin/foclick.cgi?mid=6732&d=20070827
>> > >
>> > >
>> > > _______________________________________________
>> > > Cartoweb-users mailing list
>> > > Cartoweb-users@lists.maptools.org
>> > > http://lists.maptools.org/mailman/listinfo/cartoweb-users
>> > >
>> >
>> >
>> >
>> >
>>  --
>>  Email.it, the professional e-mail, gratis per te:
http://www.email.it/f
>>
>>  Sponsor:
>> Entra in Mondolastminute, centinaia di offerte ti aspettano per le >> tue
>> vacanze a prezzi lastminute!
>>  Clicca qui:
http://adv.email.it/cgi-bin/foclick.cgi?mid=6851&d=20070828
>>
>>
>>
> --
> Email.it, the professional e-mail, gratis per te: http://www.email.it/f
>
> Sponsor:
> Tutto il merchandising dello SPORT in saldo. Compra CALCIO, MOTO GP,
> FORMULA 1, RUGBY, VOLLEY, TENNIS, CICLISMO. On line adesso.
> Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6906&d=20070829
>
>
>




--
Email.it, the professional e-mail, gratis per te: http://www.email.it/f

Sponsor:
Basilea 2: impara come calcolare il rating della tua azienda con questo
pratico videocorso
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6930&d=20070829




_______________________________________________
Cartoweb-users mailing list
Cartoweb-users@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/cartoweb-users

Reply via email to