接收 WMTS 服务器的功能
Receiving the capabilities of a WMTS Server
我正在尝试根据此示例获取 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);
});
有什么想法吗?
默认情况下,Openlayers 只能使用投影 EPSG:3857 和 EPSG:4326,而您的 WMTS 使用 EPSG:25832.
由于您不提供投影代码并且不使用 proj4js(JavaScript 库来管理不同于 EPSG:3857 和 EPSG:4326 的投影所需的投影),它库的函数 ol.proj.getTransformFromProjections
失败。
您需要在 <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>
并用
注册proj4函数
ol.proj.proj4.register(proj4);
在您的 <script>
街区内
可以看a demo in action来说明
PS:我调用您的 WMTS 提供的每个 EPSG 代码,以避免与其他投影出现相同的问题。
我正在尝试根据此示例获取 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);
});
有什么想法吗?
默认情况下,Openlayers 只能使用投影 EPSG:3857 和 EPSG:4326,而您的 WMTS 使用 EPSG:25832.
由于您不提供投影代码并且不使用 proj4js(JavaScript 库来管理不同于 EPSG:3857 和 EPSG:4326 的投影所需的投影),它库的函数 ol.proj.getTransformFromProjections
失败。
您需要在 <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>
并用
注册proj4函数 ol.proj.proj4.register(proj4);
在您的 <script>
街区内
可以看a demo in action来说明
PS:我调用您的 WMTS 提供的每个 EPSG 代码,以避免与其他投影出现相同的问题。