[OpenLayers-Users] Overlay and BaseLayer problem
Christian Braun
christian.braun at tudor.lu
Wed Jun 25 10:52:16 EDT 2008
Thx very much, this solved my problem!
cheers,
Christian
On Wed, 2008-06-25 at 16:27 +0200, Eric Lemoine wrote:
> On Wed, Jun 25, 2008 at 2:36 PM, Christian Braun
> <christian.braun at tudor.lu> wrote:
> > Hi List,
>
> Hello,
>
>
>
> > I am just starting with OpenLayers and I am a looser ;-) in Javascript,
> > so please be patient.
> >
> > I want to overlay different png images in a rudimentary map. Therefore I
> > created the following code embedded in my standard html:
> >
> > var map;
> > function init(){
> > map = new OpenLayers.Map ("map", {
> > controls:[
> > new OpenLayers.Control.Navigation(),
> > new OpenLayers.Control.PanZoomBar(),
> > new OpenLayers.Control.Attribution(),
> > new OpenLayers.Control.MousePosition(),
> > new OpenLayers.Control.ScaleLine(),
> > ],
> > numZoomLevels: 5,
> > maxExtent: new OpenLayers.Bounds(57500, 57500, 106600,
> > 101800),
> > maxResolution: 'auto',
> > units: 'm',
> > projection: new OpenLayers.Projection("EPSG:2169")
> > } );
> >
> > layer1 =
> > newOpenLayers.Layer.Image('LAN1','/lan_output/schedule_baseline_normal_weather/schedule_baseline_normal_weather_L_den.png',
> > new OpenLayers.Bounds(57500, 57500,
> > 106600, 101800),
> > new OpenLayers.Projection("EPSG:2169"),
> > new OpenLayers.Size(491,443)
> > );
> >
> > layer2 = new OpenLayers.Layer.Image(
> >
> > 'LAN2','/lan_output/schedule_baseline_normal_weather/schedule_baseline_normal_weather_L_day.png',
> > new OpenLayers.Bounds(57500, 57500,
> > 106600, 101800),
> > new OpenLayers.Projection("EPSG:2169"),
>
> The third argument should be the size. Furthermore you don't need to
> pass a projection object to the layer as it's already set in the map
> options.
>
> > new OpenLayers.Size(491,443)
> > );
> > map.addLayers([layer1, layer2]);
> > map.addControl(new OpenLayers.Control.LayerSwitcher());
> > map.zoomToMaxExtent();
> >
> >
> >
> > I want to show the images as overlays rather than with an "or" checkbox.
>
> So you don't want your image layers to be "baselayers", you want them
> to be "overlays". To make them overlays you need to set the
> isBaseLayer option to false:
>
> layer2 = new OpenLayers.Layer.Image(
> 'LAN2',
> '/lan_output/schedule_baseline_normal_weather/schedule_baseline_normal_weather_L_day.png',
> new OpenLayers.Bounds(57500, 57500, 106600, 101800),
> new OpenLayers.Size(491,443), {
> isBaseLayer: false
> }
> );
>
> That being said, it is to be noted that OpenLayers works with at least
> one base layer. If you don't want really need one you can create a
> fake one using:
>
> var fake = new OpenLayers.Layer('fake', {displayInLayerSwitcher: false});
> map.addLayer(fake);
>
> > Furthermore a need a flag to set transparency of some png's.
>
> It seems to me that either your png images are transparent or they
> aren't. OpenLayers can't help you with that.
>
> Hope this helps,
>
> --
> Eric
More information about the Users
mailing list