簡體   English   中英

在 OpenLayers 6.9.0 中,我使用 fetch WMTSCapabilities 但它不起作用

[英]In OpenLayers 6.9.0 I use fetch WMTSCapabilities but I it doesn't work

我使用 fetch WMTSCapabilities 但我收到此消息:未捕獲(承諾)TypeError:無法讀取 Function.rL.source.WMTS.optionsFromCapabilities (ol.js:2) 處未定義的屬性(讀取“層”)

這是我使用的代碼:

const parser = new ol.format.WMTSCapabilities();
let bgRaster;
fetch('data/WMTSCapabilities.xml')
  .then(function (response) {
    return response.text();
  })
  .then(function (text) {
    const result = parser.read(text);
    const options = ol.source.WMTS.optionsFromCapabilities(result, {
      layer: 'standaard',
      format: 'image/png',
      matrixSet: 'EPSG:28992',
    });
    bgRaster = new ol.layer.Tile({
          opacity: 0.7,
          source: new ol.source.WMTS(options),
          title: 'Kadaster',
          visible: false
        });
  })

對不起,我這么直率地提出了我的問題。 我沒有意識到我的要求或多或少是一種要求。 不是我的本意。 如果你能幫助我,我會很高興。

問候 Boudewijn van Os

看起來它在 OpenLayers 源的optionsFromCapabilities中的這一行失敗了:

export function optionsFromCapabilities(wmtsCap, config) {
  const layers = wmtsCap['Contents']['Layer'];

檢查您是否獲得了包含Contents標簽的有效WMTSCapabilities.xml它應該類似於這個 xml

謝謝,我現在用另一種方法讓它工作,通過像這樣的編程源、擴展和分辨率:

const size = ol.extent.getWidth(projectionExtent) / 256;
// Er zijn 20 (0 tot 19) zoomniveaus beschikbaar van de WMTS-service voor de BGT-Achtergrondkaart:
let matrixIds = new Array(20);
for (let z = 0; z < 10; ++z) {
    matrixIds[z] = 'EPSG:3857:0' + z;
}
for (let z = 10; z < 20; ++z) {
    matrixIds[z] = 'EPSG:3857:' + z;
}
const bgRaster = new ol.layer.Tile({
  extent: projectionExtent,
  source: new ol.source.WMTS({
 attributions: 'Kaartgegevens: &copy; <a href="https://www.kadaster.nl">Kadaster</a>',
                url: 'https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0?',
                layer: 'standaard',
                matrixSet: 'EPSG:3857',
                format: 'image/png',
                projection: projection,
                tileGrid: new ol.tilegrid.WMTS({
                    origin: ol.extent.getTopLeft(projectionExtent),
  //                  origin: -285401.92 + "," + 903402.0,
                    resolutions: resolutions,
                    matrixIds: matrixIds
                }),
                style: 'default',
                wrapX: false
  }),
      title: 'Kadaster',
      visible: true
});

暫無
暫無

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

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