2011-06-01 59 views
1

我有一個TileCache服務器具有這種配置:合併TileCache圖層

[cache] 
type=Disk 
base=/var/maps/cache 

[osm] 
type=Mapnik 
mapfile=/var/maps/bin/mapnik/osm.xml 
bbox=-180.0,-90,180.0,90 
srs=EPSG:4326 

[oge] 
type=MapServerLayer 
mapfile=/var/maps/defs/OGE.map 
layers=OGETransLines 

我使用的OpenLayers以顯示數據和目前我已請求「OSM」層具有OpenLayers.Layer.TMS對象和'oge'圖層與OpenLayers.Layer.WMS對象。有沒有辦法將兩者合併在一起並同時請求它們?到目前爲止,我只能通過TMS獲得'osm'圖層。

編輯:我的JavaScript,使事情更清晰:

map = new OpenLayers.Map("mapDiv", 
            { 
             projection: epsg4326, 
             maxResolution: 360/512 
            }); 

     baseLayer = new OpenLayers.Layer.TMS("TarigmaOSM", 
               "http://1.1.1.1/cgi-bin/tilecache/tilecache.cgi/", 
               { 
                serviceVersion: "1.0.0", 
                layername: "osm", 
                type: "png", 
                attribution: "Data CC-by-SA OpenStreetMap" 
               }); 
     map.addLayer(baseLayer); 

     overlay = new OpenLayers.Layer.WMS("Overlay", 
              "http://1.1.1.1/cgi-bin/tilecache/tilecache.cgi?", 
              { 
               layers: "oge", 
               transparent: "true", 
               attribution: "" 
              }); 
     map.addLayer(overlay); 

回答

-1

沒有辦法,你可以做在客戶端。您在OpenLayers中創建的每個圖層都會自己請求獲取圖像。

唯一可行的解​​決方案是在服務器端創建一個WMS或TMS服務,用於從兩個要合併的數據源讀取數據。

+0

任何想法如何用TileCache做到這一點?我知道它需要在服務器端。 – Nik 2011-06-08 12:19:22