首页 > 其他分享 >mapbox点图层标注根据zoom层级进行显示与隐藏

mapbox点图层标注根据zoom层级进行显示与隐藏

时间:2023-09-16 15:25:39浏览次数:36  
标签:opacity map text zoom mapbox 图层 ports icon

主要使用了这个表达式进行过滤:"text-opacity": ["step", ["zoom"], 0, 5, 1]

这个表达式的意思就是zoom在小于5时text-opacity值等于0,大于5时text-opacity值等于1

const addPortsGeoJSONLayer = (ports) => {
  let map = G.map;
  map.loadImage(portIcon, function (error, image) {
    if (error) throw error;
    map.addImage("port-icon", image);
    map.addSource("ports", {
      type: "geojson",
      data: ports,
    });
    map.addLayer({
      id: "ports",
      type: "symbol",
      source: "ports",
      layout: {
        visibility: "visible",
        "icon-image": "port-icon",
        "icon-size": 0.3,

        "text-field": ["get", "port"],
        "text-size": 13,
        "text-anchor": "top",
        "text-offset": [0, 0.8],
        "symbol-placement": "point",
      },
      paint: {
        "text-color": "black",
        "text-halo-color": "#d4eaee",
        "text-halo-width": 1,
        "text-opacity": ["step", ["zoom"], 0, 5, 1],
      },
    });
  });
};

进阶mapbox GL之paint和filter

标签:opacity,map,text,zoom,mapbox,图层,ports,icon
From: https://www.cnblogs.com/echohye/p/17706746.html

相关文章

  • 如何在图表中配置一个能够在移动端响应的DataZoom组件?
    要在图表中配置一个能够在移动端响应的DataZoom组件,可以通过以下几个步骤实现:引入必要的依赖:确保在你的项目中引入了相关的图表库以及移动端响应式插件。常用的图表库有ECharts、Highcharts、Chart.js等,而移动端响应式插件通常是这些库本身已经内置的。创建图表容器:在HTML中......
  • ARVGIS中创建NetCDF栅格图层无法自动读取变量的解决方法(包括netCDF4包查看nc文件属性)
    下载了.nc后缀的文件,准备通过Arcgis转为tif栅格形式,但是出现了如下问题:1.将nc文件拖入到输入栏后并不会自动提取变量、X维度、Y维度和输出栅格图层。 在尝试解决的过程中,使用python的netCDF4包查看nc文件属性,准备手动填写importnumpyasnpimportpandasaspdimportnet......
  • 使用QGIS切片,使用Nginx反向代理本地瓦片,并在QGIS加载图层
    使用QGIS切片(以tif为例)新建QGIS工程(.qgz)将tif文件拖到图层区打开工具箱-->栅格工具-->生成XYZ瓦片(目录)设置参数:坐标范围、层级、瓦片格式、输出目录等,点击运行输出目录不选则默认会生成到C盘的临时目录运行完毕后记录出现这段文字,关闭对话框,点击右下角路径可以预览使用......
  • 越上层越优先——调整图层
    调整图层作用的对象是下方的层用调整图层+一写其他东西可以做出意想不到的效果调整图层+移动调整图层+不透明度......
  • Openlayers构建指定发布图层的查询条件
    constfeatureRequest=newol.format.WFS().writeGetFeature({srsName:"EPSG:4326",//这里的EPSG不要改为4326,可能无法显示?featureNS:"http://geoserver.org/WS",//这里是工作空间中的命名空间urlfeature......
  • java-vector-tile | 使用java生成Mapbox矢量图块规范的矢量图块
    https://github.com/ElectronicChartCentre/java-vector-tile/tree/master/src/main/java/no/ecc/vectortile使用java生成mapbox-gl可读的vectortile......
  • Ps让图层以字母序排序
    https://github.com/matthewkimber/ps-layer-sort下载这个脚本,将其放置到Adobe\AdobePhotoshop2023\Presets\Scripts目录下。然后在Ps中点击文件->脚本->ps-layer-sort......
  • 调用Geoserver发布的图层中文字段显示乱码
    通过OL使用WFS服务,调用发布的图层字段,中文字段显示为乱码  有几种原因:①指定打印的字符格式在代码中指定输出的编码格式,例如使用console.log('@@xxx',xzq.toString('utf-8'))来指定输出为UTF-8编码格式。②添加meta如果是在网页中输出乱码,可以在HTML的<head>标......
  • bevy 0.11 camera2d zoom and pan with touchpad on macos
    usebevy::prelude::*;usebevy::{input::mouse::MouseWheel,render::camera::ScalingMode};usebevy::input::touchpad::TouchpadMagnify;usebevy::window::PrimaryWindow;constGRID_SIZE:usize=200;pubstructSimpleCameraPlugin;implPluginforSimpleCam......
  • 关于3dtiles Interactivity中的zoom方法精简写法
    原版本涉及到坐标系变化和矩阵变换,在对原版的思路掌握后,特写一个精简版,帮助大家理解。functionzoom(movement,feature){constlongitude=Cesium.Math.toRadians(feature.getProperty("Longitude"));constlatitude=Cesium.Math.toRadians(feature.getProperty("Lati......