Hi Eric,  thanks for the fast reply.

With the baseLayer-object it works. I tried to apply the method directly to the layer, maybe that was the problem. But still I have the problem, when changing the baseLayer. In my case I got three baseLayers and no matter which one is selected it should have a opacity.
If I do it like this:

var map = new OpenLayers.Map(options);
var google = new OpenLayers.Layer.Google(
           "Google",
           {'sphericalMercator': true}
   );
var OSM = new OpenLayers.Layer.OSM("OSM"); var google_t = new OpenLayers.Layer.Google(
               "Google_Terrain",
               {type: G_PHYSICAL_MAP, 'sphericalMercator': true}
   );
map.addLayers([OSM, google, google_t]); map.baseLayer.setOpacity(0.5);

the opacity is applied just to the initial baseLayer. The other layers don't have a opacity after being selected. I think, thats why I have to trigger the event, wether a layer is selected or not and set the opacity afterwards. Maybe it is possible to do so in the treepanel-object of the mapFish-API. Couldn't find anything appropriate so far, but I have to dig more into it.
If you or somebody else got a hint, I would appreciate it very much.

Cheers
Dirk.




Eric Lemoine schrieb:
On Wed, Jan 13, 2010 at 7:05 PM, Dirk Tanneberger
<dirk.tanneber...@unibas.ch> wrote:
Hi everybody,

Hi

I'm using Openlayers within MapFish. But I think the issue is specific
to Openlayers, so I post it here. Hope somebody got a clue.

What I'm trying to do is: applying a opacity to a Google-Layer with the
"setOpacity"-method.

Here is the code I'm using:

   var options = {
           projection: new OpenLayers.Projection("EPSG:900913"),
           displayProjection: new OpenLayers.Projection("EPSG:4326"),
           units: "m",
           numZoomLevels: 18,
           maxResolution: 156543.0339,
           maxExtent: new OpenLayers.Bounds(810690, 6027000,
                                               883240, 6118400),
           controls: []
   };

   var map = new OpenLayers.Map(options);

   var google = new OpenLayers.Layer.Google(
           "Google",
           {'sphericalMercator': true}
   );

   var OSM = new OpenLayers.Layer.OSM("OSM");

   var google_t = new OpenLayers.Layer.Google(
               "Google_Terrain",
               {type: G_PHYSICAL_MAP, 'sphericalMercator': true}
   );

   google.setOpacity(0.5);


   map.addLayers([google, OSM, google_t]);




It works fine for th OSM-layer (if specified), but either one of the
Google-layers won't take the opacity. They just show up in full bright.
Has anybody experienced similar?

No. I just opened
<http://openlayers.org/dev/examples/spherical-mercator.html> and
entered map.baseLayer.setOpacity(0.2) in the FireBug console and the
Google layer's opacity did change. Do you have a live example showing
the problem?

Another question is: How can I obtain the selected Layer from the map?

map.baseLayer may be what you're looking for.

Cheers,


_______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users

Reply via email to