2011-06-01 54 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