2017-01-07 49 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服務器。