Hi Eric,

On 2010-09-23, at 1:22 AM, Eric Lemoine wrote:

> On Thursday, September 23, 2010, Paul Spencer <pspen...@dmsolutions.ca> wrote:
>> Hi Eric and others,
> 
> Hi Paul
> 
>> I'm just catching up on this thread and I have some comments that I would 
>> like to add.
>> 
>> I'd really like to see 3.0 put control into the hands of the map and do away 
>> with 'magic' behaviour.  I think there are other ways to provide convenience 
>> (define a new map sub-class with the appropriate projection/resolutions for 
>> instance) without breaking a nice clean API.  So for the record, I think it 
>> should be required to provide the projection when defining a map and not 
>> magically pick it up from some sort of special layer.
> 
> Determining ways to provide convenience is key to the discussion. At
> this point I have no other solution than having
> fixed-projection/resolutions layers determine the map projection and
> resolutions. I'm interesting in other ways.

I guess I feel that if there is a magic layer that can override the map then we 
haven't really made any fundamental change from the 2.x baseLayer concept.  I 
understand that this is entirely optional but I think will be a source of 
confusion in the long run.  Just adding a layer to a Map should not change the 
fundamental behaviour of the Map.

My counter proposal to master layers would be to introduce sub-classes of Map 
that are pre-configured for some scenarios or preset blocks of options that can 
be passed to a Map constructor.  This might look like:

var map = new OpenLayers.Map.Google({
  // additional user options
});

or 

var options = OpenLayers.Util.extend(OpenLayers.Config.Google, {
  // additional user options
});
var map = new OpenLayers.Map(options);

or

var map = new OpenLayers.Map({
  config: OpenLayers.Config.Google
  // additional user options
});

In both cases, it is clear that the *Map* is going to be configured 
Google-style with preset resolutions, projection etc.

BTW I'm not sure that having OpenLayers.Map.Google is the right naming choice 
:)  Probably preset config objects would be a better way to go.


> 
>> Also, I'm not convinced that introducing the concept of master layers and 
>> master groups is a good thing.  I think there are some very straight-forward 
>> rules that can be applied to a layer to determine if it should be displayed 
>> at the current resolution and there is no need to add the concept of mutual 
>> exclusion in the core library (i.e. can it display at this resolution, can 
>> it be displayed in the current projection, is it within maxExtent).
> 
> The goal of layer groups isn't related to resolutions, maxExtent, etc.
> It is just a way for the user to create mutually exclusive layers, and
> have radio buttons in the layer tree.

I think layer groups should not be handled in the core API, but rather in the 
UI component of the library.  I can definitely see the utility in being able to 
define groups of mutually exclusive layers, though.  

Cheers

Paul

> The "master" group just aims to identify master layers.
> 
> And I'd like to say again that the map doesn't require a master layer.
> If there's no master layer the map determines the projection and
> resolutions.
> 
>> User controls and the application developer should handle this kind of 
>> thing.  From the point of view of the library, it shouldn't matter if there 
>> is more than one non-transparent layer displayed on top of each other and it 
>> (the library) should not prevent it.
> 
> Agreed. I think the proposed design does go in that direction. It just
> introduces master layers to provide convenience when working with
> fixed-projection/resolutions layers. And, with the proposed design,
> the user can even use fixed-resolutions/projection layers without them
> being master layers, by just not making them part of the "master"
> group (new Google("gmap", {group: null}).
> 
> Again, if you have other ways to provide convenience I'm interested.
> 
> Thanks a lot for you feedback Paul!
> 
> -- 
> Eric Lemoine
> 
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac, Cedex
> 
> Tel : 00 33 4 79 44 44 96
> Mail : eric.lemo...@camptocamp.com
> http://www.camptocamp.com


__________________________________________

   Paul Spencer
   Chief Technology Officer
   DM Solutions Group Inc
   http://research.dmsolutions.ca/

_______________________________________________
Dev mailing list
d...@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/openlayers-dev

Reply via email to