我有一个具有此配置的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);
答案 0 :(得分:-1)
你无法在客户端做到这一点。您在OpenLayers中创建的每个图层都会使其自己获取图像的请求。
唯一可行的解决方案是在服务器端创建一个WMS或TMS服务,该服务从两个要合并的数据源中读取数据。