2017-01-07 5 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> 

Их возможности док имеет 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 - плохой запрос.

ответ

0

Вы путаетесь между TileWMS и ol.source.WMTS. Первый - для доступа к серверу WMS, последний для сервера WMTS.

 Смежные вопросы

  • Нет связанных вопросов^_^