Mapbox 加载自定义 WMS 数据源

Step 1 引入依赖文件

<link href="https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.css" rel="stylesheet">
<script src="https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.js"></script>

Step 2 创建地图容器

<div id="map"></div>

Step 3 初始化一个空白地图

var map = new mapboxgl.Map({
     container: 'map',
     style: {
         version: 8,
         "sprite": "http://x.x.x.x:xxxx/mapbox/mapbox_build/sprite/sprite",            
         "glyphs": "http://x.x.x.x:xxxx/mapbox/mapbox_build/fonts/{fontstack}/{range}.pbf",
         sources: {},
         layers: [{
             'id': 'background',
             'paint': {
                 'background-color': '#08294A'
             },
             'type': 'background'
         }]
     },
     zoom: 15,
     center: [0,0]
 });

Step 4 加载 WMS 数据源

map.addSource('source_id', {
    'type': 'raster',
    'tiles': [                
        "http://x.x.x.x:xxxx/geoserver/xx/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&STYLES&LAYERS=xx:xx&SRS=EPSG:3857&WIDTH=768&HEIGHT=625&BBOX={bbox-epsg-3857}"
    ],
    'tileSize': 512
});

Step 5 加载 WMS 图层

map.addLayer(
    {
        'id': 'wms-layer',
        'type': 'raster',
        'source': 'source_id',
        'paint': {}
    },
);