根据此示例,我试图获得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);
});
有什么想法吗?
答案 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代码,以避免与其他预测相同的问题。