• MapboxGL 常用API记录


    MapboxGL 常用API记录

    1. Map 对象相关

    1.1 地图方法

    地图样式布局属性 getset,如:获取地图图层显示或隐藏属性值,设置地图图层显示或隐藏

    map.getLayoutProperty('clickedLayer', 'visibility') // => 'none'/'visible'
    map.setLayoutProperty('clickedLayer', 'visibility', 'none') // 设置图层隐藏
    map.setLayoutProperty('clickedLayer', 'visibility', 'visible') // 设置图层显示
    

    地图样式绘制属性 getset,如:获取地图图层填充颜色属性值,设置地图图层填充色

    map.getpaintproperty('clickedLayer', 'fill-color') // => '#ffffff'
    map.setPaintProperty('clickedLayer', 'fill-color', '#faafee'); // 设置图层填充颜色
    

    地图刷新

    const sourceId = 'sourceId'
    const layerId = 'layerId'
    const sourceObj = {
        type: 'geojson',
        data: 'path/to/data.geojson'
    }
    const layerObj = {
        id: layerId,
        source: sourceId,
        type: 'fill'
    }
    
    // 1. 第一次将数据源与地图图层添加至地图中
    map.addSource(sourceId, sourceObj)
    map.addLayer(layerObj)
    // 2. 通过id获取数据源与地图图层,判断是否存在,如果存在进行第3步,如果不存在进行第4步
    const source = map.getSource(sourceId) // 不存在 source => undefined
    const layer = map.getLayer(layerId) // 不存在 layer => undefined
    // 3. 移除地图中的数据源与地图图层
    map.removeSource(sourceId)
    map.removeLayer(layerObj)
    // 4. 再次将数据源与地图图层添加至地图中
    map.addSource(sourceId, sourceObj)
    map.addLayer(layerObj)
    

    fitbounds(bounds, options?, eventData?) 地图缩放至BBOX

    const bbox = [[-79, 43], [-73, 45]];
    map.fitBounds(bbox, {
        padding: {top: 10, bottom:25, left: 15, right: 5}
    });
    

    remove() 销毁地图

    清理并释放与此地图关联的所有内部资源。

    这包括 DOM 元素、事件绑定、Web Worker 和 WebGL 资源。

    当您使用完地图并希望确保它不再消耗浏览器资源时,请使用此方法。 之后,您不得在地图上调用任何其他方法。

    map.remove()
    

    1.2 地图事件

    load 地图加载完成

    在下载了所有必要的资源并且地图的第一次视觉完整渲染发生后立即触发

    // 初始化地图对象
    const map = new mapboxgl.Map({ // map options });
    // 设置地图事件监听
    // 当地图加载完成的时候触发
    map.on('load', function() {
        console.log('A load event occurred.');
    });
    
  • 相关阅读:
    PAT 1063 计算谱半径(20)(代码)
    PAT 1071 小赌怡情(15)(代码)
    PAT 1068 万绿丛中一点红(20)(测试点分析+思路分析)
    PAT 甲级 1011 World Cup Betting (20)(代码+思路)
    PAT 1041 考试座位号(15)(代码)
    PAT 1076 Wifi密码(15)(代码)
    Mvc全局过滤器与Action排除
    .NET Core WebApi使用Swagger
    .NET WebApi使用Swagger
    JQuery常见方法
  • 原文地址:https://www.cnblogs.com/unlockth/p/15095185.html
Copyright © 2020-2023  润新知