2017-06-15 8 views
1

mapboxglマップに表示したいWMSTサービスがあります。 以下は、openlayersの例です。https://openlayers.org/en/latest/examples/wms-time.htmlMapboxGLJSはWMS-Tおよび/またはTMSをサポートしていますか?

MapBoxGLJSの例はありますか? TMSもサポートしていますか? これについてのドキュメントや例は見つかりません...このドキュメントが不十分であるか、機能が存在しないかどうかはわかりません。

答えが「いいえ」の場合は、それが受け入れられる答えです。

答えて

0

Mapbox-GL-JSは、通常のWMSをサポートしていません。WMS Timeはありません。 example for WMSを見ると、URL全体がハードコードされています。

Mapbox-GL-JSはTMSをサポートしていません。これはTMSをサポートしていません。マップボックスの対応はTileJSONです。

0

はい、mapbox-glでWMSとtmsの両方を使用できます。

mapbox-glは常にタイルソースを使用するため、WMSサポートはやや面倒です。したがって、WMSの場合、タイルとしてWMSデータを取得する必要があります。 WMS-Timeが必要な場合は、& time =パラメータをWMS要求に追加できます。

TMSは、Google、Bing、MapQuest、OpenStreetMapで提供されている事実上の標準的なタイルセットに非常によく似ていますが、Y因子は「逆さま」です。 mapbox-glに、 "scheme": "tms"というオプションを追加することによって、y因子を別の方法で処理する必要があることを伝えることができます。

例WMSソース:あなたは同じ設定を使用することができTMSについては

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='utf-8' /> 
    <title></title> 
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> 
    <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.37.0/mapbox-gl.js'></script> 
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.37.0/mapbox-gl.css' rel='stylesheet' /> 
    <style> 
     body { margin:0; padding:0; } 
     #map { position:absolute; top:0; bottom:0; width:100%; } 
    </style> 
</head> 
<body> 

<div id='map'></div> 
<script> 
var map = new mapboxgl.Map({ 
    container: 'map', // container id 
    style: { 
     "version": 8, 
     "sources": { 
      "wms-tiles": { 
       "type": "raster", 
       "tiles": [ 
       "https://geodata1.nationaalgeoregister.nl/luchtfoto/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&styles=default&layers=luchtfoto_jpeg" 
       ], 
       "tileSize": 256 
      } 
     }, 
     "layers": [{ 
      "id": "aerial-photo", 
      "type": "raster", 
      "source": "wms-tiles", 
      "minzoom": 5, 
      "maxzoom": 22 
     }] 
    }, 
    center: [5, 52.5], // starting position 
    zoom: 10 // starting zoom 
}); 
</script> 

</body> 
</html> 

が、設定された "スキーム":ソース・セクションの "TMS":あなたの場合

"source": { 
      type: 'vector', 
      tiles:["http:/yourserver/geoserver/gwc/service/tms/1.0.0/yourendpoint/{z}/{x}/{y}.pbf"], 
      "scheme": "tms", 
      "minzoom": 13, 
      "maxzoom": 19, 
      "bounds": [3.38,50.73,7.2432,53.5455] 
     }, 

が(ということに注意してください。 geoserverは512x512のグリッドを使用する必要があります)

+0

私の答えは「MapboxはWMSをサポートしていません」という興味深いことです。あなたのマップは「マップボックスでWMSを実行する方法はここにあります」私たちは両方ともリght。 :) –

+0

'スキーム'は本当にサポートされていますか?公式の[doco](https://www.mapbox.com/mapbox-gl-js/style-spec/#sources-vector)にはありません。ラスターソースにも適用されますか?私は[TileJSON spec](https://github.com/mapbox/tilejson-spec/blob/master/2.2.0/schema.json)( 'bounds'と一緒に)に見ています。うーん... –

+1

ちょうどチェックされた: "スキーム": "tms"ラスタータイルソースでも動作します。なぜそれが公式の文書に欠けているのか分かりません。 – anneb

関連する問題