[OpenLayers-Users] Adding multiple Image Layers

Andreas Hocevar ahocevar at opengeo.org
Sat Jun 30 00:36:00 PDT 2012


You are using several non-API options to configure your Image layer.
See http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Layer/Image-js.html#OpenLayers.Layer.Image.OpenLayers.Layer.Image
for the correct constructor options. It looks like what's missing in
your constructor is the size, and this is why your layers cannot
calculate the aspect ratio. See
http://openlayers.org/dev/examples/image-layer.html for an example.

Andreas.

On Thu, Jun 28, 2012 at 7:50 PM, Bennos <benjaminpreisig at gmx.at> wrote:
> Hi,
>
> I am trying to add two OpenLayers.Layer.Image() layers to my map but if I am
> adding both at the same time, they will not appear.
>
> When I am trying to add just one layer, with the code for the other one
> commented everything works fine. But if I just create the .Image() Object
> for the second image without adding it to the map, no image is shown. After
> some research with Firebug I found that the aspectRatio for the second image
> is set to "NaN", altough I am defining it. Furthermore the images are not
> even loaded.
> The images have the exact same size and should be visible at the exact same
> place. When adding only one Layer and changing the URL manually with
> layer.setUrl("image.png"); everything works fine.
> Below I am posting my code, help is much appreciated.
>
> Cheers,
> b
>
>
> function init(){
>        // increase reload attempts
>    OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
>        var spherical = new OpenLayers.Projection("EPSG:900913");
>        var geographical = new OpenLayers.Projection("EPSG:4326");
>        var maxExtent = new OpenLayers.Bounds(-20037508, -20037508, 20037508,
> 20037508),
>        restrictedExtent = maxExtent.clone(),
>        maxResolution = 156543.0339;
>    var boundaries = new OpenLayers.Bounds(8.098224, 45.772682, 17.74378,
> 49.478924);
>    var options = {
>        projection: spherical,
>        displayProjection: geographical,
>        units: "m",
>        numZoomLevels: 21,
>        maxResolution: maxResolution,
>        maxExtent: maxExtent,
>        restrictedExtent: restrictedExtent,
>    };
>    var map = new OpenLayers.Map('map', options);
>
>    var osm = new OpenLayers.Layer.OSM("OpenStreetMap");
>        map.addLayer(osm);
>
>        var theme = new OpenLayers.Layer.Image(
>                "Data",
>        "data/prec1h/GOOGLE.RR_15min.20120612.1215.15.png",
>        boundaries.transform(geographical,spherical),
>        new OpenLayers.Size(598, 378),
>        {
>                        isBaseLayer: false,
>                        resolutions:map.layers[0].resolutions,
>                        maxResolution : map.layers[0].resolutions[0],
>                        aspectRatio: 0.9024712214132586
>                        // visibility: false
>                }
>        );
>        map.addLayer(theme);
>         var meme= new OpenLayers.Layer.Image(
>                "otherData",
>        "data/prec1h/GOOGLE.RR_15min.20120612.1230.15.png",
>        boundaries.transform(geographical,spherical),
>        new OpenLayers.Size(598, 378),
>        {
>                        isBaseLayer: false,
>                        resolutions:map.layers[0].resolutions,
>                        maxResolution : map.layers[0].resolutions[0],
>                        aspectRatio: 0.9024712214132586
>                        // visibility: false
>                }
>        );
>        map.addLayer(meme);
>        console.log(theme);
>        console.log(meme);
>
>        var lat=47.5;
>        var lon=13.3333;
>        var zoom = 7;
>        var center=new OpenLayers.LonLat();
>        center.lon=lon;
>        center.lat=lat;
>        map.addControl(new OpenLayers.Control.LayerSwitcher());
>    map.setCenter(center.transform(geographical,spherical),zoom);
>
> }
>
>
> --
> View this message in context: http://osgeo-org.1560.n6.nabble.com/Adding-multiple-Image-Layers-tp4984653.html
> Sent from the OpenLayers Users mailing list archive at Nabble.com.
> _______________________________________________
> Users mailing list
> Users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-users



-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.


More information about the Users mailing list