2

HTMLを使用してマップを作成するのは初めてで、2つのベクトルレイヤー(場所、ポイント)をベースマップ(道路)に追加しようとしましたが、マップ上にベクトルレイヤーが表示されません。レイヤーは、ベースマップへのベクトルオーバーレイとして表示されます。レイヤーはレイヤースイッチャーに表示されているのでそこにありますが、画面には表示されていません。問題は、ベクトルレイヤーが呼び出される方法に関係していると思います。ベクトルレイヤーを表示するための解決策は何ですか。ありがとう

var map = new OpenLayers.Map("map-id");

    var roads= new OpenLayers.Layer.WMS(
    "roads",
    "http://localhost:8080/geoserver/wms",
    {layers: "roads"});

var points= new OpenLayers.Layer.Vector(
    "points",
    "http://localhost:8080/geoserver/wms",
    {layers: "points"});

var places= new OpenLayers.Layer.Vector(
    "places",
    "http://localhost:8080/geoserver/wms",
    {layers: "places"});

map.addLayer(roads);
map.addLayer(points);
map.addLayer(places);
map.addControl(new OpenLayers.Control.LayerSwitcher());
4

1 に答える 1

2

WMS プロトコルを介してベクター データを表示しようとしています。この目的のために、OpenLayers.Layer.Vector の代わりに OpenLayers.Layer.WMS インスタンスを使用する必要があります。WMS レイヤーをオーバーレイとして表示するには、 isBaseLayer オプションを使用します。

map = new OpenLayers.Map('map'); 
var places = new OpenLayers.Layer.WMS('places',
  "http://localhost:8080/geoserver/wms",
  {layers: "places", transparent: true},
  {isBaseLayer: false, opacity: 1, singleTile: true, visibility: true}
);
map.addLayers([places]);
于 2012-04-16T04:42:52.660 に答える