Mapbox中线条样式设置
在 Mapbox GL JS 中线条样式通过 line 类型图层的 paint 属性配置可精确控制颜色、宽度、虚线、端点、连接、偏移、模糊、渐变、图案等效果支持固定值与数据驱动表达式。一、核心样式属性Paint1. 基础外观line-color线条颜色十六进制、RGB、RGBA、颜色名line-color: #ff0000line-width线条宽度像素默认 1line-width: 3line-opacity透明度0–1默认 1line-opacity: 0.82. 虚线与图案line-dasharray虚线样式[实线长度空白长度]单位为线宽倍数line-dasharray: [2, 4] // 短虚线line-pattern使用 Sprite 图片填充线条需提前加载 Spriteline-pattern: pattern-name3. 端点与连接line-cap端点样式butt/round/square默认 buttline-cap: roundline-join拐角连接miter/round/bevel默认 miterline-join: roundline-miter-limit尖角阈值超过自动转为 bevel默认 2line-miter-limit: 34. 偏移与模糊line-offset线条偏移像素正值向右 / 多边形内缩line-offset: 2line-blur模糊半径像素默认 0line-blur: 15. 渐变与动态样式line-gradient沿线条方向的颜色渐变需配合 line-gradient 表达式line-gradient: [ interpolate, [linear], [line-progress], 0, blue, 1, red ]数据驱动样式按属性 / 缩放动态变化line-width: [ interpolate, [linear], [zoom], 10, 1, 15, 5 ]二、完整示例使用 Sprite 图片填充线条!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleMapbox 生成可编辑高亮新线(保留所有状态)/title !-- 引入Mapbox核心库 -- link hrefhttps://api.mapbox.com/mapbox-gl-js/v3.2.0/mapbox-gl.css relstylesheet script srchttps://api.mapbox.com/mapbox-gl-js/v3.2.0/mapbox-gl.js/script !-- 引入Draw插件 -- link relstylesheet hrefhttps://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-draw/v1.4.3/mapbox-gl-draw.css / script srchttps://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-draw/v1.4.3/mapbox-gl-draw.js/script style * { margin: 0; padding: 0; box-sizing: border-box; } body { height: 100vh; position: relative; } #map { width: 100%; height: 100vh; } /style /head body div idmap/div script // 替换为自己的Mapbox Access Token mapboxgl.accessToken accessToken; const map new mapboxgl.Map({ container: map, style: mapbox://styles/mapbox/streets-v12, center: [116.403874, 39.914885], zoom: 12, pitch: 0 }); // 地图加载完成后执行 map.on(load, async () { // 步骤1准备自定义图案 Sprite // 1. 加载自定义图案图片示例使用 16x16 的箭头图片你可替换为自己的图片URL const patternImageUrl ./images/1.png; // 官方示例图案 const patternName custom-arrow; // 自定义图案名称对应 line-pattern 的值 // 2. 将图片添加到 Mapbox 的 Sprite 中 try { const image new Image(); image.crossOrigin anonymous; // 解决跨域问题 image.src patternImageUrl; await new Promise((resolve) { image.onload resolve; }); // 添加图片到地图资源 map.addImage(patternName, image, { sdf: false // 非距离字段图片普通图案 }); console.log(图案加载成功:, patternName); } catch (err) { console.error(图案加载失败:, err); return; } // 步骤2添加带图案的线条图层 // 1. 添加 GeoJSON 数据源示例北京二环部分路线 map.addSource(custom-line, { type: geojson, data: { type: Feature, properties: {}, geometry: { type: LineString, coordinates: [ [116.3408, 39.9299], [116.3522, 39.9355], [116.3645, 39.9398], [116.3768, 39.9419], [116.3881, 39.9408] ] } } }); // 2. 添加使用图案的线条图层 map.addLayer({ id: pattern-line-layer, type: line, source: custom-line, paint: { // 核心使用自定义图案 line-pattern: patternName, // 辅助配置调整线条宽度影响图案显示大小 line-width: 12, // 图案透明度 line-opacity: 0.9, // 图案偏移可选 line-offset: 2 } }); // 可选添加交互效果 // 鼠标悬停时放大线条 map.on(mouseenter, pattern-line-layer, () { map.setPaintProperty(pattern-line-layer, line-width, 16); map.getCanvas().style.cursor pointer; }); map.on(mouseleave, pattern-line-layer, () { map.setPaintProperty(pattern-line-layer, line-width, 12); map.getCanvas().style.cursor ; }); }); // 添加地图控件 map.addControl(new mapboxgl.NavigationControl()); /script /body /html三、常用组合效果高亮实线line-width: 5 line-color: #ff4444 line-opacity: 1半透明虚线line-dasharray: [3, 3] line-opacity: 0.5发光线line-blur: 2 line-color: #00ffff双线条叠加两个 line 图层内层宽、外层窄并偏移

相关新闻

《用 R 探索医药数据科学》目录(持续更新,已超 220 万字)|点击进入,查看完整标题,按需跳转阅读

《用 R 探索医药数据科学》目录(持续更新,已超 220 万字)|点击进入,查看完整标题,按需跳转阅读

市面上的 R 语言培训班和书籍(包括网络上的文章或视频),由于受限于培训时间或书籍篇幅,往往难以深入探讨 R 语言在数据科学或人工智能中的具体应用场景,内容泛泛而谈和千篇一律,最终无法真正解决实际工作中…

2026/5/17 11:40:04 阅读更多 →
RapidPages完全指南:从安装到部署的一站式前端开发解决方案

RapidPages完全指南:从安装到部署的一站式前端开发解决方案

RapidPages完全指南:从安装到部署的一站式前端开发解决方案 【免费下载链接】rapidpages Generate React and Tailwind components using AI 项目地址: https://gitcode.com/gh_mirrors/ra/rapidpages RapidPages是一款基于AI的前端开发工具,能够…

2026/5/17 11:40:03 阅读更多 →
Linux与数据库

Linux与数据库

1.1. 数据库概念(属于C/S结构)数据库 :是存放数据的仓库,它是一个按数据结构来存储和管理数据的计算机软件系统。数据库管理系统 : 是数据库系统的核心组成部分,主要完成对数据库的操作与管理功能&#xff…

2026/7/6 7:41:33 阅读更多 →

最新新闻

2026年AI大模型开发指南:技术栈与学习路线

2026年AI大模型开发指南:技术栈与学习路线

1. 为什么2026年需要这份AI大模型开发指南?过去三年里,大模型技术以每月都有突破的速度迭代。我在2023年刚开始接触大模型时,GPT-3还是最先进的模型,到2025年,参数规模已经增长了100倍。这种爆炸式发展带来两个直接问题…

2026/7/6 12:37:19 阅读更多 →
Stable Diffusion 3 图像生成实战:基于《穿石棉的人》描绘未来废墟的 5 个提示词工程技巧

Stable Diffusion 3 图像生成实战:基于《穿石棉的人》描绘未来废墟的 5 个提示词工程技巧

Stable Diffusion 3 图像生成实战:基于《穿石棉的人》描绘未来废墟的 5 个提示词工程技巧当科幻文学中的"沉寂的百老汇"、"永恒的衰败"这类抽象描述遇上Stable Diffusion 3的生成能力,我们面对的不仅是技术实现问题,更是…

2026/7/6 12:35:16 阅读更多 →
字节面试复盘2026/07/03

字节面试复盘2026/07/03

复盘来自2026/07/03 字节扣子编程开发 人生首面~~~1.流式输出是怎么实现的 1. 核心原理 流式输出本质是HTTP分块长连接,区别普通一次性响应:普通接口等后端处理完返回完整JSON;流式是大模型边生成文字、后端边分段推送,前端边接收…

2026/7/6 12:35:16 阅读更多 →
TPAFE0808与MKV44F256VLH16构建多通道信号采集系统

TPAFE0808与MKV44F256VLH16构建多通道信号采集系统

1. 项目背景与核心需求在工业自动化、医疗设备和消费电子领域,多通道信号采集与系统监测一直是关键需求。TPAFE0808作为一款8通道模拟前端芯片,搭配MKV44F256VLH16这款高性能微控制器,能够构建一套稳定可靠的多通道信号处理系统。这套组合特别…

2026/7/6 12:33:13 阅读更多 →
灰度共生矩阵 (GLCM) 实战:Python 提取 4 大纹理特征,准确率提升 15%

灰度共生矩阵 (GLCM) 实战:Python 提取 4 大纹理特征,准确率提升 15%

灰度共生矩阵(GLCM)实战:Python提取4大纹理特征提升分类准确率纹理分析一直是计算机视觉领域的重要研究方向,想象一下你正在开发一个木材质量检测系统,如何让机器像经验丰富的质检员一样,通过表面纹理判断木材等级?这正…

2026/7/6 12:33:13 阅读更多 →
协方差矩阵与皮尔森相关系数:从2维到N维数据的3步可视化分析实战

协方差矩阵与皮尔森相关系数:从2维到N维数据的3步可视化分析实战

协方差矩阵与皮尔森相关系数:从2维到N维数据的3步可视化分析实战在数据科学和机器学习领域,理解变量之间的关系是建模和特征工程的基础。当我们面对高维数据集时,如何快速识别特征间的关联模式?协方差矩阵和皮尔森相关系数矩阵就像…

2026/7/6 12:33:13 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻