繁体   English   中英

OpenLayers3访问英国天气服务器

[英]OpenLayers3 access to UK weather server

我正在尝试开始使用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>

他们的功能文档的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

在功能文档中,有一个

操作名称=“ GetTile”

但是没有GetMap。 那可以解释501错误。

但是,如果我尝试强制执行“ gettile”,则会出现400错误-错误的请求。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM