[OpenLayers-Users] Opacity of GoogleLayer, get selected layer
Dirk Tanneberger
dirk.tanneberger at unibas.ch
Fri Jan 15 06:05:04 EST 2010
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.tanneberger at 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,
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100115/220b2724/attachment.html
More information about the Users
mailing list