1

この構成の 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」レイヤーを要求しています。2 つをマージして同時に要求する方法はありますか? これまでのところ、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);
4

1 に答える 1

-1

クライアント側でそれを行う方法はありません。OpenLayers で作成するすべてのレイヤーは、画像をフェッチするための独自のリクエストを作成します。

可能な唯一の解決策は、マージする 2 つのデータ ソースからデータを読み取る 1 つの WMS または TMS サービスをサーバー側に作成することです。

于 2011-06-08T06:57:04.323 に答える