SOURCE

console 命令行工具 X clear

                    
>
console
const layersConfig={
    streets:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/streets_zw.json',
    dark:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/dark.json',
    img:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/img.json',
    red:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/streets_red.json',
    img_20cm:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/img_20cm.json',
    hillshade:'https://zhejiang.tianditu.gov.cn/vtiles/styles/tdt/hillshade.json'
}
const map = new mapboxgl.Map({
    container: 'map',
    style: layersConfig.streets,
    center: [120.14990061847072,30.26531885127308],
    zoom: 17,
    pitch:60
});
map.on('load', () => {
    map.resize()
    const marker=new mapboxgl.Marker({
        color: '#4264fb',
    }).setLngLat([120.14990061847072,30.26531885127308]).addTo(map)
    const popup = new mapboxgl.Popup({ closeOnClick: false})
    .setLngLat([120.14990061847072,30.26531885127308])
    .setHTML("<p>这里是杭州</p>")
    .setOffset(33)
    .addTo(map);
});
var scale = new mapboxgl.ScaleControl({
    maxWidth: 80,
    unit: 'imperial'
});
map.addControl(scale);
 
scale.setUnit('metric');

document.getElementById('select').addEventListener('change', function(e) {
    console.log(e.target.value)
    var type = layersConfig[e.target.value]
    map.setStyle(type)
})
<div id='map'></div>
<select name="select" id="select">
    <option value="streets" selected>标准</option>
    <option value="dark"">黑夜</option>
    <option value="img"">影像</option>
    <option value="img_20cm"">高清影像</option>
    <option value="red"">红色地图</option>
    <option value="hillshade"">地形(晕渲)</option>
</select>
html,body {
    padding: 0;
    margin: 0;
    height: 100%;
}
#map {
    width: 100%;
    height: 100%;
}
select {
    position: absolute;
    right: 10px;
    top: 10px;
}

.mapboxgl-ctrl-scale {
    background-color: white;
}

本项目引用的自定义外部资源