94 lines
3.0 KiB
HTML
94 lines
3.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>mapbox gl 加载martin的矢量瓦片</title>
|
||
<script src="https://cdn.bootcdn.net/ajax/libs/mapbox-gl/1.9.1/Archive/mapbox-gl.min.js"></script>
|
||
<link href="https://cdn.bootcdn.net/ajax/libs/mapbox-gl/1.9.1/mapbox-gl.css"/>
|
||
<style>
|
||
#map{
|
||
height: 100vh;
|
||
width: 100%;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div id="map"></div>
|
||
<script>
|
||
|
||
const TIANDITU_URL = 'http://t0.tianditu.gov.cn';
|
||
const tdtKey = "118c7ba0ae0b3e35a0164dca56551ee8";
|
||
const tdtConfig = {
|
||
code: 'tdt_img',
|
||
name: '天地图影像',
|
||
toolName: '天地图影像底图',
|
||
// icon: tdtSatellite,
|
||
source: {
|
||
type: 'raster',
|
||
tiles: [
|
||
`${TIANDITU_URL}/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=${tdtKey}`
|
||
],
|
||
tileSize: 256,
|
||
minzoom: 0,
|
||
maxzoom: 22
|
||
},
|
||
layer: {
|
||
id: 'tdt-img-tiles',
|
||
type: 'raster',
|
||
minzoom: 0,
|
||
maxzoom: 22,
|
||
layout: { visibility: 'visible' }
|
||
}
|
||
}
|
||
let map = new mapboxgl.Map({
|
||
container:'map',
|
||
style:{
|
||
"version":8,
|
||
"sources":{},
|
||
"layers":[],
|
||
glyphs: "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
|
||
},
|
||
center: [112.39747, 22.908823], // 广东
|
||
// center:[120.04683,30.06713],
|
||
zoom: 17, // starting zoom 地图初始的拉伸比例
|
||
pitch: 0, // 地图的角度,不写默认是0,取值是0-85度,一般在3D中使用
|
||
bearing: 0, // 地图的初始方向,值是北的逆时针度数,默认是0,即是正北
|
||
antialias: true, // 抗锯齿,通过false关闭提升性能
|
||
minZoom: 3,
|
||
maxZoom: 17.36
|
||
});
|
||
map.on('load', () => {
|
||
// 天地图底图加载
|
||
addLayerConfig(tdtConfig);
|
||
// addLayerConfig(geoServerConfig);
|
||
addMvt();
|
||
});
|
||
function addLayerConfig(layerConfig){
|
||
const {code, source,layer} = layerConfig;
|
||
map.addSource(code, source);
|
||
const layerParams = {
|
||
...layer,
|
||
source: code
|
||
};
|
||
// 添加图层
|
||
map.addLayer(layerParams);
|
||
}
|
||
function addMvt(){
|
||
map.addLayer({
|
||
id: 'lines',
|
||
type: 'fill',
|
||
source: {
|
||
type: 'vector',
|
||
url: 'http://localhost:3000/zhujiang_river'
|
||
},
|
||
'source-layer': 'zhujiang_river',
|
||
paint: {
|
||
'fill-color': 'red'
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
</html> |