接收WMTS服务器的功能

时间:2018-10-02 13:09:03

标签: openlayers

根据此示例,我试图获得WMTS服务器的功能:https://openlayers.org/en/latest/examples/wmts-layer-from-capabilities.html

GetCapabilities响应如下:https://pastebin.com/RRVmX9Ms

使用以下代码,我没有结果,没有错误或警告(控制台仍然为空):

var parser = new ol.format.WMTSCapabilities();

fetch('WMTSCapabilities.xml').then(function(response) {
        return response.text();
      }).then(function(text) {

          var result = parser.read(text);
          var options = ol.source.WMTS.optionsFromCapabilities(result, {
              layer: 'DOP_20_C',
              matrixSet: 'ADV_25832_Quad'
          });

        console.log(options);
 });

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,Openlayers仅可以使用投影EPSG:3857和EPSG:4326,而您的WMTS使用EPSG:25832。

由于您不提供投影代码,也不使用proj4js(JavaScript库来管理与EPSG:3857和EPSG:4326不同的投影所需的投影),因此它无法在库。

您需要在/tmp/result.txt之后添加以下内容

ol.proj.getTransformFromProjections

并向其中注册proj4函数

<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js"></script>

在您的<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js"></script> <script src="https://epsg.io/4258.js"></script> <script src="https://epsg.io/31467.js"></script> <script src="https://epsg.io/25832.js"></script> 区块内

您可以看到here进行说明

PS:我打电话给您的WMTS提供的每个EPSG代码,以避免与其他预测相同的问题。