簡體   English   中英

OpenLayers:可縮放的WMS覆蓋圖?

[英]OpenLayers: Zoomable WMS overlay?

我在OpenLayers中遇到WMS覆蓋問題。 基本上,我只想從WMS服務器添加數據作為覆蓋而不是基礎層。 這似乎是一個非常簡單的問題,但我找不到解決方案。 如果將singleTile設置為true ,則疊加層會顯示在整個地圖上,但無法放大。如果將其設置為false ,則每個縮放級別僅顯示一個圖塊。 如果將其設置為基礎層,則可以正常工作,但我確實需要疊加解決方案,因此可以使其透明並查看其背后的地圖。

用不同的數據集演示問題,但問題相同: http : //jsfiddle.net/adbnC/2/

我認為這可能與某些坐標系問題有關,但我不是專家,因此不勝感激。

非常感謝!

這是代碼的相關部分,無法正常工作:

var pop_layer = new OpenLayers.Layer.WMS("Population Density in 2000",
    "http://sedac.ciesin.columbia.edu/geoserver/ows", {
        layers: 'gpw-v3:gpw-v3-population-density_2000',
        transparent: true
     }, {
         opacity: 0.5,
         isBaseLayer: false,
         // Setting single tile to true will kind of work but than one
         // cannot zoom in any more.
         singleTile: false
     }
);

我無法完全弄清這里到底出了什么問題,但我認為這與混亂的參考系統有關。 這是一種解決方法:

修改后的Jsfiddle.net

我將地圖投影更改為球形墨卡托,現在看來對我來說效果很好:

var mapOptions = {
    div: "map",
    projection: new OpenLayers.Projection("EPSG:900913"),
    units: "m"
};

map = new OpenLayers.Map('map', mapOptions);

var osm = new OpenLayers.Layer.OSM();
map.addLayer(osm);

var pop_layer = new OpenLayers.Layer.WMS("Population Density in 2000", "http://sedac.ciesin.columbia.edu/geoserver/ows", {
    layers: 'gpw-v3:gpw-v3-population-density_2000',
    transparent: true
}, {
    opacity: 0.5,
    isBaseLayer: false
});

map.addLayer(osm);
map.addLayer(pop_layer);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(0, 0), 2);​

讓我知道是否有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM