2017-01-07 46 views
0

我试图从OpenLayers3开始,从英国获取天气数据。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> 

其能力DOC具有ServiceTypeVersion OGC WMTS = 1.0.0,所以我重写的1.3.0的OL默认。层名似乎也很好。

的的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

在功能文档,有一个

操作名称= “GetTile”

但是没有GetMap操作。这将解释501错误。

但是,如果我试图强制'gettile',它会给出一个400错误 - 错误的请求。

回答

0

您在TileWMS和ol.source.WMTS之间感到困惑。前者用于访问WMS服务器,后者用于WMTS服务器。