合并TileCache图层

时间:2011-06-01 17:52:07

标签: openlayers 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来显示数据,目前我已经请求带有OpenLayers.Layer.TMS对象的'osm'图层和带有OpenLayers.Layer.WMS对象的'oge'图层。有没有办法将两者合并在一起并同时请求它们?到目前为止,我只能通过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 个答案:

答案 0 :(得分:-1)

你无法在客户端做到这一点。您在OpenLayers中创建的每个图层都会使其自己获取图像的请求。

唯一可行的解​​决方案是在服务器端创建一个WMS或TMS服务,该服务从两个要合并的数据源中读取数据。