[OpenLayers-Dev] Layers into Groups

Lorenzo Becchi lorenzo at ominiverdi.com
Wed Oct 17 08:57:01 EDT 2007


Hi Steven, Jachym, all

OL probably will adopt OLON, Tim Schaub's creation, as internal object 
(Format->OLON) to store all informations regarding the map objects and 
its layers.
Then there are many different format that can be associated to OLON in a 
import/export concept. I'm personally working on Context and Tim on KML.

OLON, AFAIK, is not planned to manage GROUPS but I think that Jachym's 
notation can be used as parameter inside OLON and to create XML 
hierarchies in OWS Context or KML or whatever...

Only Tim knows what's OLON development status
;-)

ciao
Lorenzo



Steven M. Ottens wrote:
> Hi,
>
> In mapbuilder we use (OWS)Context to store our layer information, 
> there the group information is stored in a XML format like this
> <group 'groupname'>
>    <layer 'layername'/>
>    <layer 'otherlayer'/>
> </group>
>
> So I believe that your approach of using
> group name
>     group: "Group"
> and using Group hierarchy
>     group: "Parent/Child"
> Should be compatible with the OWSContext approach. So it was a heads 
> up from me :)
>
> Although I wonder now if Openlayers knows about the groups apart from 
> the display in the LayerSwitcher. Because if it implements layer 
> management (moving layers) you want to move the entire group upif the 
> parent is moved; eg:
> if you move parent 2 up it should bring its children along
>
> before:
>   parent 1
>       -child 1
>       -child 2
>    normal layer
>    parent 2
>       -child 3
>       -child 4
>
> after:
>    parent 1
>       -child 1
>       -child 2
>    parent 2
>       -child 3
>       -child 4
>    normal layer
>
> And to make things more complicated what happens if you move any of 
> the childs? (I don't know if the specs require children to stay in 
> their groups or not, if not it should be possible to drag them out of 
> a group)
>
> Steven
>
> Jachym Cepicky wrote:
>> Hi,
>>
>> sorry, I do not see your point: I want the layers grouped in
>> LayerSwitcher. The simplest way how to do it, is to specify the group
>> name
>>   group: "Group"
>> and using Group hierarchy
>>   group: "Parent/Child"
>>
>> everything happens while new OpenLayers.Layer.* is defined
>>
>> jachym
>>
>> Steven M. Ottens píše v St 17. 10. 2007 v 11:23 +0200:
>>  
>>> The mapbuilder code uses
>>> //wmc:ResourceList/wmc:Layer[wmc:Extension/wmc:Group/@name=$GroupName]
>>> So this means that it selects the layers which have a 
>>> group-extension. I believe the structure is hierarchical, so using 
>>> group/layer approach should be consistent with the OWS spec.
>>> But I'm not the real expert, I though gertjan did the grouping code, 
>>> but could be wrong.
>>>
>>> Steven
>>>
>>> Cameron Shorter wrote:
>>>    
>>>> Grouping layers has been discussed a few time on the Mapbuilder 
>>>> list, in particular including Grouping in the OWS Spec.
>>>> It would be good to confirm that your grouping code is consistent 
>>>> with Mapbuilder and OWS Context to ease future integration issues.
>>>> I think Steven is probably the expert in this area.
>>>>
>>>> Lorenzo Becchi wrote:
>>>>        
>>>>> Cool Jachym.
>>>>>
>>>>> that's a good idea.
>>>>> It can even represent the complete structure of a WMS 
>>>>> GetCapabilites (read: WMS Manager [1]).
>>>>>
>>>>> At the code sprint in Victoria, we where talking with Chris about 
>>>>> the possibility to add few features to LayerSwticher. This could 
>>>>> be one.
>>>>> other possible attribute wired features:
>>>>> - "buttonDropLayer" : true //activate a button to let the user 
>>>>> drop the layer from map and layerSwitcher
>>>>> - "buttonZoom2Extent" : true //show a button to zoom to layer extent
>>>>> - "buttonOpacity" : true //show two buttons change layer opacity
>>>>> - "buttonMoveLayer" : true //show two buttons to move layers up or 
>>>>> down in the overlay list (this could collide with your structure)
>>>>>
>>>>> this are the buttons that could apply to all type of layers.
>>>>> button could be just a div where all styles are defined inside the 
>>>>> CSS.
>>>>>
>>>>> if you and others agree we can expand your Ticket or make another 
>>>>> that can manage all points. Or make a lots of tickets...
>>>>> ciao
>>>>> Lorenzo
>>>>>
>>>>> ps: btw, your patch doesn't work on Safari 2.
>>>>>
>>>>> [1] *http://tinyurl.com/2fjbr7*
>>>>>
>>>>>
>>>>>
>>>>> Jachym Cepicky wrote:
>>>>>              
>>>>>> Hi developers,
>>>>>> I have implemented ordering map layers into groups [1]. You have to
>>>>>> specify new layer attribute group:"Group Name", e.g.:
>>>>>>
>>>>>>  var dm = new OpenLayers.Layer.WMS( "DM Solutions Transit",
>>>>>>                 "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
>>>>>>                 {layers: "rail,road",
>>>>>>                  transparent: "true", format: "image/png"
>>>>>>                 },
>>>>>>                 {                                   group:"Transit"
>>>>>>                 });
>>>>>>
>>>>>> You can define group hierarchy using "/" mark:
>>>>>>
>>>>>> ....
>>>>>> group: "Transit/Roads"
>>>>>> ....
>>>>>>
>>>>>> Only changed file is LayerSwitcher.js
>>>>>>
>>>>>> For example see [2]
>>>>>>
>>>>>> Hope, you'll like it
>>>>>>
>>>>>> Jachym
>>>>>>
>>>>>> [1] http://trac.openlayers.org/ticket/1086
>>>>>> [2]
>>>>>> http://dev.openlayers.org/sandbox/jachym/openlayers/examples/layer-groups.html 
>>>>>>
>>>>>>   
>>>>>> ------------------------------------------------------------------------ 
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> Dev at openlayers.org
>>>>>> http://openlayers.org/mailman/listinfo/dev
>>>>>>                       
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> Dev at openlayers.org
>>>>> http://openlayers.org/mailman/listinfo/dev
>>>>>
>>>>>               
>>>>         
>>>
>>>     
>
>
>



More information about the Dev mailing list