我正在尝试使用OpenLayers3,以获取来自英国的天气数据 .
他们的Datapoint服务有一个平铺WMTS服务器 . 我正在尝试访问雷达/降水瓦片 . 收到'501 - 未实施'错误 .
<div id="map" class="map"></div>
<script>
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts',
params: {
'LAYERS': 'RADAR_UK_Composite_Highres',
'VERSION': '1.0.0',
'key': '[your-api-access-key-goes-here]'
}
})
})
],
view: new ol.View({
projection: 'EPSG:4326',
center: [0, 0],
zoom: 0
})
});
</script>
他们的Capabilities doc有ServiceTypeVersion OGC WMTS = 1.0.0,所以我覆盖了OL的默认值1.3.0 . 图层名称似乎也很好 .
OpenLayers安装程序生成3个对表单服务器的调用
http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在此处重复为纯文本(请注意我的API密钥已从URL中删除):http://datapoint.metoffice.gov.uk/public/data/inspire/view/wmts?SERVICE=WMS&VERSION=1.0.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=RADAR_UK_Composite_Highres&key=my_key_goes_here&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=-180%2C-270%2C180%2C90
在Capabilities doc中,有一个
操作名称=“GetTile”
但是没有GetMap . 这可以解释501错误 .
但是,如果我试图强制'gettile',它会给出400错误 - 错误的请求 .
1 回答
您在TileWMS和ol.source.WMTS之间感到困惑 . 前者用于访问WMS服务器,后者用于WMTS服务器 .