阅读 186

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)

地图缩放至BBOX

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

销毁地图

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

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

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

map.remove()

1.2 地图事件

地图加载完成

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

// 初始化地图对象
const map = new mapboxgl.Map({ // map options });
// 设置地图事件监听
// 当地图加载完成的时候触发
map.on(‘load‘, function() {
    console.log(‘A load event occurred.‘);
});

原文:https://www.cnblogs.com/unlockth/p/15095185.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐