簡體   English   中英

使用 OpenLayers 不顯示從地理服務器導入的圖層

[英]Layer imported from geoserver is not displayed using OpenLayers

我正在從地理服務器導入深水表層(坐標系 32632)以使用 OpenLayers 顯示它,但我找不到它。 這是編寫的代碼:

var urlgeoserver="http://localhost:8082/geoserver/BV_chiba/wms"


var urlcouches="BV_chiba:deepwatertable"


var deepwatertable = new ol.layer.Tile({
    source:new ol.imageWMS({
        url: urlgeoserver,
        params:{"LAYERS": urlcouches, "TILED":"true"},

    }),
    title: "deepwatertable"
});
deepwatertable.setVisible(true);


var listcouches= [deepwatertable];
var map = new ol.map({
target: 'map',
layers:listcouches,
view: new ol.view({
center: ol.proj.transform([0, 0], 'EPSG:4326', 'EPSG:32632'),
zoom:10
})
});

沒有理由不能對 WMS 進行平鋪,因為可以緩存平鋪,因此效率更高,但ol.layer.Tile需要與ol.source.TileWMS一起使用。 如果你不想平鋪 WMS,你必須使用ol.layer.Imageol.source.ImageWMS ol.Mapol.View也需要大寫字母。 投影(除非是 EPSG:3857)必須在源和視圖選項以及 proj4 定義中指定(如果使用 OpenLayers 5 並注冊),並且您需要包含 proj4 庫<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.5.0/proj4.js"></script>

proj4.defs("EPSG:32632","+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs");

ol.proj.proj4.register(proj4); // only needed if using OpenLayers 5

var urlgeoserver="http://localhost:8082/geoserver/BV_chiba/wms"


var urlcouches="BV_chiba:deepwatertable"


var deepwatertable = new ol.layer.Tile({
    source:new ol.source.TileWMS({
        url: urlgeoserver,
        params:{"LAYERS": urlcouches, "TILED":"true"},
        projection: 'EPSG:32632'
    }),
    title: "deepwatertable"
});
deepwatertable.setVisible(true);


var listcouches= [deepwatertable];
var map = new ol.Map({
  target: 'map',
  layers:listcouches,
  view: new ol.View({
    center: ol.proj.transform([0, 0], 'EPSG:4326', 'EPSG:32632'),
    zoom:10,
    projection: 'EPSG:32632'
  })
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM