[OpenLayers-Users] Problems with overlay

Arnd Wippermann arnd.wippermann at web.de
Mon Dec 4 12:41:51 EST 2006


Hello Claus,

I have taken your code and it works. TOPO is the baselayer and ROK is an
overlay. There is nothing wrong. Perhaps you mean, that ROK lie over TOPO
and you doesn't see the TOPO layer. Add the parameter format:'image/png' and
transparent: 'true' to the WMS layer.

Mit freundlichen Grüssen

Arnd Wippermann




-----Ursprüngliche Nachricht-----
Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org] Im
Auftrag von Krinke, Claus
Gesendet: Montag, 4. Dezember 2006 10:59
An: users at openlayers.org
Betreff: [OpenLayers-Users] Problems with overlay

Hi List,
I have a problem defining baselayers and overlays. The layer ROK should be
an overlay. I tried with the param isBaseLayer false, but this dont work.
Where is the problem?

Here ist the code (based on Mumbai Free Map):

<html>
  <head>
    <style type="text/css">
        html,body {
            height: 99%;
            width: 99%;
        }
        #map {
            width: 100%;
            height: 100%;
            border: 1px solid black;
        }
	#notice {
	    right: 1.2em;
	    bottom: 1.2em;
            width: 14em;
	    position: absolute;
	    z-index: 500;
	}
	#noticeText {
            font-size: 1.1em;
	    color: white;
	    font-family: sans-serif;
	    font-weight: bold;
	    background-color: darkblue;
	    padding: .5em;
	    text-align: right;
	}
        #labelText {
            padding: .5em;
	    text-align: center;
        }
	a { 
	    font-size: .6em;
	    color: grey; 
	    text-decoration: none; 
	}
	a:hover { text-decoration: underline; }
    </style>
    <script src="http://openlayers.org/api/2.1-rc3/OpenLayers.js"></script>
    <script type="text/javascript">
        <!--
	function getArgs() {
	    var args = new Object();
	    var query = location.search.substring(1);
	    var pairs = query.split("&");           

	    for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');  
		if (pos == -1) continue;         
		var argname = pairs[i].substring(0,pos);  
		var value = pairs[i].substring(pos+1);
		args[argname] = unescape(value);     
	    }
	    return args; 
	}

	var map;
        function init(){
	    var tileSize = new OpenLayers.Size(512,512);
            map = new OpenLayers.Map('map', {
		projection: "EPSG:31467",
		maxExtent:  new OpenLayers.Bounds(3324000, 5675000, 
						  3694000, 5984000),
                maxResolution: (5984000- 5675000) / 512,
                numZoomLevels: 11,
                controls: [],
                units: 'm'
	    });
              var topo = new OpenLayers.Layer.WMS("TOPO",
"http://www.kartenserver.niedersachsen.de/wmsconnector/com.esri.wms.Esrimap/
FFH_Gesamt?", {layers: '6', request: 'getmap'} );
              var rok = new OpenLayers.Layer.WMS( "ROK",
"http://geoportal.geodaten.niedersachsen.de/ml?", {layers:
'fplan_A,bergbau_a,bergbau_l,energie_L', request: 'getmap'},
{'isBaseLayer':false}); 
            map.addLayers([rok, topo]);
            map.addControl(new OpenLayers.Control.MouseToolbar());
            map.addControl(new OpenLayers.Control.PanZoomBar());
            map.addControl(new OpenLayers.Control.LayerSwitcher());

	    var center, zoom, args = getArgs();
	    if (args.x && args.y) {
		center = new OpenLayers.LonLat(parseInt(args.x),
		                               parseInt(args.y));
		zoom = parseInt(args.z);
		if (!zoom) zoom == 0;
	    } else {
		center = new OpenLayers.LonLat(3550000, 5800000);
		zoom = map.getZoomForExtent(map.maxExtent);
	    }
            map.setCenter(center, zoom);
	    map.events.register("moveend", map, updateLinks);
	    updateLinks(); // first time for good measure, bug workaround

	    Rico.Corner.round($('notice'), {
		bgColor: "transparent",
		color: "darkblue",
		blend: false});

        }

	function updateLinks () {
	    var c = map.getCenter();
	    var z = map.getZoom();
	    $('linkLocation').href = "?x=" + Math.round(c.lon)
	                           + "&y=" + Math.round(c.lat)
				   + "&z=" + z;
	    if (false) { // (map.zoom < 5) {
		$('downloadPDF').href = 
		    "javascript:alert('Zoom in before downloading a PDF.')";
	    } else {
		var b = map.getExtent();
		$('downloadPDF').href = "map.pdf?" +
		    "layers=dp+reserved&mapext=" + 
		    [b.left,b.bottom,b.right,b.top].join(" ");
	    }
	}
        // -->
    </script>
  </head>
  <body onload="init()">
    <div id="map"></div>
    <div id="notice">
        <div id="noticeText">
            <div id="labelText">ROK</div>
            <div><a id="linkLocation" href="">Link to ths location
&rarr;</a></div>
            <div><a id="downloadPDF" href="">Download as PDF
&rarr;</a></div>
            <div><a target="_blank"
href="http://www.crit.org.in/projects/gis">Visit CRIT project page
&rarr;</a></div>
            <div><a target="_blank" href="http://openlayers.org/">Powered by
OpenLayers &rarr;</a></div>
        </div>
    </div>
  </body>
</html>



Claus Krinke

Niedersächsisches Ministerium
für den ländlichen Raum, Ernährung,
Landwirtschaft und Verbraucherschutz

fon:   0511 120-4715
mail:  claus.krinke at ml.niedersachsen.de
_______________________________________________
Users mailing list
Users at openlayers.org
http://openlayers.org/mailman/listinfo/users




More information about the Users mailing list