0

私は OpenLayers と GeoServer の初心者であり、どんな助けも大歓迎です!

Bing Maps exampleのコードを使用してベース マップを読み込んでいます。

final String key = "Apd8EWF9Ls5tXmyHr22OuL1ay4HRJtI4JG4jgluTDVaJdUXZV6lpSBpX-TwnoRDG";
// Bing key
Bing road = new Bing(new BingOptions("Road Layer", key, BingType.ROAD));
Bing hybrid = new Bing(new BingOptions("Hybrid Layer", key,
                BingType.HYBRID));
Bing aerial = new Bing(new BingOptions("Aerial Layer", key,
                BingType.AERIAL));
// And add them to the map
map.addLayer(road);
map.addLayer(hybrid);
map.addLayer(aerial);

次に、他のいくつかの例から思いついたこのコードを使用して、WMS レイヤーを読み込みます。

WMSParams wmsParams = new WMSParams();
wmsParams.setFormat("image/png");
wmsParams.setLayers("test:myraster");
wmsParams.setStyles("");

WMSOptions wmsLayerParams = new WMSOptions();
wmsLayerParams.setIsBaseLayer(false);
wmsLayerParams.setAlwaysInRange(true);
wmsLayerParams.setUntiled();
wmsLayerParams.setWrapDateLine(true);

String wmsUrl = "http://localhost:8080/geoserver/wms";

WMS wmsLayer = new WMS("Basic WMS", wmsUrl, wmsParams, wmsLayerParams);
map.addLayer(wmsLayer);

レイヤーを切り替えることができるように、マップ上にレイヤー スイッチャー コントロールもあります。

LayerSwitcher layerSwitcher = new LayerSwitcher();
map.addControl(layerSwitcher);

マップが読み込まれると、bing マップがレイヤー スイッチャーのベース レイヤーであり、wms レイヤーがオーバーレイ レイヤーであることがわかります。問題は、wms レイヤーが表示されているときに、ベース レイヤーが表示されないことです。wms レイヤーを介して表示しようとしているラスターは 10 度 x 10 度しかなく、下のベース レイヤーを表示する代わりに、他のすべてのスペースが白で塗りつぶされているように見えます。wms レイヤーをオフにすると、ベース レイヤーが表示されます。

誰か提案はありますか?

4

0 に答える 0