发布时间:2026/6/17 3:09:51
MapLibre GL JS第52课:显示和样式化富文本标签 学习目标掌握显示和样式化富文本标签的实现方法理解相关API的使用能够独立完成类似功能开发 核心概念显示和样式化富文本标签。 完 整 代 码代码示例!DOCTYPEhtmlhtmllangenheadtitleDisplay and style rich text labels/titlemetapropertyog:descriptioncontent使用 format 表达式以英文和当地语言显示国家标签。/metapropertyog:createdcontent2023-06-27/metacharsetutf-8metanameviewportcontentwidthdevice-width, initial-scale1linkrelstylesheethrefhttps://unpkg.com/maplibre-gl5.24.0/dist/maplibre-gl.css/scriptsrchttps://unpkg.com/maplibre-gl5.24.0/dist/maplibre-gl.js/scriptstylebody{margin:0;padding:0;}html, body, #map{height:100%;}/style/headbody!-- The lang attribute is read from the map container if present, otherwise from the HTML document --dividmaplangzh-HK/divscriptmaplibregl.setRTLTextPlugin(https://unpkg.com/mapbox/mapbox-gl-rtl-text0.3.0/dist/mapbox-gl-rtl-text.js);constmapnewmaplibregl.Map({container:map,// 容器IDstyle:https://tiles.openfreemap.org/styles/bright,// 样式URLcenter:[17.49,40.01],// 初始位置 [经度, 纬度]zoom:4// 初始缩放级别});map.on(load,(){map.setLayoutProperty(label_country,text-field,[format,[get,name_en],{font-scale:1.2},\n,{},[get,name],{font-scale:0.8,text-font:[literal,[Noto Sans Regular]]}]);});/script/body/html 代码解析初始化地图使用new maplibregl.Map()创建地图实例配置基本参数。本示例的核心特色是展示如何使用format表达式创建富文本标签同时显示英文和当地语言名称。加载 RTL 插件maplibregl.setRTLTextPlugin(https://unpkg.com/mapbox/mapbox-gl-rtl-text0.3.0/dist/mapbox-gl-rtl-text.js);关键配置项container: 地图容器的 DOM 元素 IDstyle: 使用 OpenStreetMap 亮色样式https://tiles.openfreemap.org/styles/brightcenter: 地图初始中心点[17.49, 40.01]巴尔干半岛区域zoom: 初始缩放级别为 4显示区域级别视图format 表达式配置map.setLayoutProperty(label_country,text-field,[format,[get,name_en],// 第一部分英文名称{font-scale:1.2},// 英文名称样式放大1.2倍\n,// 换行符{},// 换行符不需要样式[get,name],// 第二部分当地语言名称{font-scale:0.8,// 当地语言样式缩小0.8倍text-font:[literal,[Noto Sans Regular]]}]);⚙️ 参数说明参数类型必填默认值说明containerstring是-地图容器元素的 IDstylestring/object是-地图样式 URL 或内联样式对象center[number, number]否[0, 0]初始中心点坐标zoomnumber否0初始缩放级别format 表达式参数类型说明textexpression要显示的文本内容optionsobject文本样式选项文本样式选项属性类型说明font-scalenumber字体缩放比例text-fontarray字体名称数组text-colorstring文本颜色text-halo-colorstring文本光晕颜色text-halo-widthnumber文本光晕宽度 效果说明运行代码后地图上的国家标签会以双行富文本形式显示第一行: 英文名称放大1.2倍第二行: 当地语言名称缩小0.8倍使用 Noto Sans 字体示例: 国家标签显示为 “Italy” 在上方意大利文 “Italia” 在下方视觉效果:英文名称更大更突出当地语言名称作为补充信息支持 RTL从右到左语言如阿拉伯语、希伯来语 常 见 问 题Q1: format 表达式是什么A:format表达式允许创建富文本标签支持多行文本和不同样式的组合。每个文本片段都可以有独立的样式设置。Q2: 为什么需要 RTL 插件A:RTLRight-to-Left插件支持从右到左书写的语言如阿拉伯语、希伯来语等确保这些语言正确显示。Q3: 如何添加更多文本样式A:在format表达式中添加更多的文本和样式对象对[format,[get,name],{font-scale:1.2},\n,{},[get,capital],{font-scale:0.8,text-color:#888}]Q4: 可以使用哪些字体A:可以使用样式中定义的字体或通过text-font属性指定字体。建议使用支持多语言的字体如 Noto Sans。 练习任务基础练习修改字体大小比例调整中英文名称的显示效果进阶挑战添加第三行文本显示国家首都拓展思考如何根据国家属性动态改变文本颜色 最佳实践字体选择: 使用支持多语言的字体如 Noto Sans确保各种语言正确显示样式层次: 主文本使用较大字体辅助信息使用较小字体RTL 支持: 加载 RTL 插件支持从右到左的语言性能考虑: 避免过多的文本样式组合影响渲染性能可读性: 确保文本颜色与背景有足够对比度语言属性: 使用lang属性帮助浏览器正确处理文本方向 延伸阅读Map API文档MapLibre GL JS 官方文档[下一课预告]将继续学习地图图层的基础知识

相关新闻

2026/6/17 3:09:51

J302βγ盖格计数管:精准可靠的核辐射检测核心设备

J302βγ是一款高性能复合型盖格计数管,也是民用与工业级核辐射检测仪的核心传感元器件,专门针对β射线、γ射线检测研发,凭借稳定的探测性能、宽泛的工况适配性,成为核辐射监测设备的主流核心配件,广泛应用于各类便携…

2026/6/17 3:09:51

AI工程化简报:面向开发者的技术决策指南

1. 这是一份真正“能用”的AI资讯简报,不是信息噪音收集器我做AI领域内容整理和实操分享已经七年多,从GPT-3刚发布时手动抄录每篇论文摘要,到后来搭自动化爬虫抓取arXiv更新,再到去年开始系统性测试各类AI原生通讯工具——踩过太多…

2026/6/17 4:09:52

机器学习NLP实战:从文本预处理到情感分析模型构建全流程

1. 项目概述:当机器学习遇见自然语言如果你正在学习机器学习,或者对自然语言处理(NLP)感兴趣,那么“头歌机器学习在NLP中的实战”这个项目标题,很可能就是你一直在寻找的、能将理论知识与实际应用连接起来的…

2026/6/17 4:09:52

猫抓浏览器插件:一站式网页媒体资源嗅探与下载解决方案

猫抓浏览器插件:一站式网页媒体资源嗅探与下载解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾为无法保存在线课程视频…

2026/6/17 4:09:52

AI Agents 将如何重塑企业业务流程

角色与任务修正说明 您好!您当前输入的两个核心指令存在严重的篇幅与方向冲突:冲突点梳理 第一个系统角色与任务:要求撰写一篇 10000字左右 的 技术博客(ReactChart.js入门方向),结构、内容元素&#xff08…

2026/6/17 4:09:52

BMan缓冲区管理器:嵌入式网络处理器的硬件内存管理优化

1. BMan缓冲区管理器:数据平面的性能基石在嵌入式网络处理器和高端通信SoC的设计中,数据平面的性能瓶颈往往不在于CPU的计算能力,而在于内存管理的效率。想象一下,一个处理海量网络数据包的系统,如果每个数据包的接收…

2026/6/17 3:09:51

收藏!小白程序员必备:AI应用开发工程师四大核心能力进阶指南

本文介绍了成为AI应用开发工程师需掌握的四大核心能力:扎实的编程与算法基础、小模型工程化能力、大模型微调与优化能力、Agent开发与流程编排能力,以及底层性能认知能力。文章强调,AI应用开发远不止调用API,更需要深入理解和实践…

2026/6/17 1:09:50

阿里云国际代理商:如何使用RDS MySQL 构建网站数据库?

在构建企业官方网站、电子商务平台或个人博客系统时,数据库是整个数字基座的核心。以往采用传统方式自行搭建 MySQL 数据库,不仅需要手动进行环境配置、参数调优、备份策略设定,还要面对故障诊断、安全加固等一系列复杂挑战。整个过程常常需要…

2026/6/17 1:09:50

搭建FTP文件共享服务器

1,安装ftp服务器 输入yum install vsftpd (2)修改配置文件 cd /etc/vsftpd 进入vsftp的配置目录 cp vsftpd.conf vsftpd.conf_bak 将原始配置文件备份 vim /etc/vsftpd/vsftpd.conf 修改配置文件anonymous_enableYES anon_upload_enableYES…

2026/6/17 1:09:50

SolidWorks第四部分_直接实体建模特征7_圆角与倒角进阶

圆角与倒角进阶 摘要 在实体建模与计算机辅助设计(CAD)领域,圆角(Fillet)与倒角(Chamfer)是处理实体边线时最基础也最复杂的操作之一。本文将从恒定半径圆角、变半径圆角、面圆角以及拐角倒角四…