[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