一行命令快捷构建在线地图字体切片服务

简介: 一行命令快捷构建在线地图字体切片服务

1 简介

大家好我是费老师,在之前的一篇文章(如何发布具有超高性能的地图服务)中我为大家介绍过martin的安装与使用,它是由maplibre开源维护的新一代高性能地图服务框架,底层基于rust,使得其可以以远胜于geoserver等传统地图服务框架的效率,进行矢量切片地图服务的发布。

martin除了构建矢量切片地图服务的核心功能外,还兼具了其他地图服务常用功能。今天的文章中,我就将为大家介绍如何使用martin快捷构建自定义字体切片服务。

7845cdaffbef7e5aeaa525f187d9eec5.png

2 利用martin构建自定义字体切片服务

maplibremapbox等框架在构建在线地图应用时,如果需要在地图中使用自定义字体,由于字体文件尤其是中文等字体体积较大,出于应用资源加载速度优化的考虑,不会接受完整的字体文件,而是需要自行将原始的字体文件转换为pbf切片的形式,并构建相应的web服务,供地图应用自动按需访问使用相应切片资源,这一套过程在过去,实现起来还是比较繁琐。

martin0.10.0版本开始提供快捷的字体切片服务功能,使得我们只需要一行命令即可搞定上述的所有过程😎。

首先我们执行cargo install martin --forcemartin进行覆盖更新,譬如我之前的martin版本为0.8.7

8dc1fa89ab9f54b70423ccdc91307c4a.png

版本更新后来到0.11.0

65e4478f709162baf263000a0537d32f.png

接着我们只需要在本地准备好otfttfttc等常见格式的字体文件,接着执行利用martin命令的--font参数进行字体源的定义,可以接受单个字体文件,也可以接受路径用于批量识别路径下所有字体文件,还可以通过多个--font参数分别定义若干字体源规则,下面的示例中我们以识别目标路径下所有字体文件为例:

/home/feffery/.cargo/bin/martin --font .

adf6eadd0812b71ac33b0ae44331cd12.png

就这么简单,我们就启动了自定义字体切片服务,默认访问本机的http://127.0.0.1:3000/catalog地址,即可查看到已成功注册的各字体切片服务信息,其中fonts下各个「键名」,就可以作为「字体名称」在地图应用中进行配置:

03c09c6aaf22da09dc84c290cdfb9232.png

maplibre为例,按照我们示例服务的地址,为地图应用设置glyphshttp://127.0.0.1:3000/font/{fontstack}/{range}后,对于maplibre要额外为地图实例设置localIdeographFontFamily参数为false,接着按照symbol型图层参数配置要求设置好text-font等参数即可。

相关文章
|
4月前
|
小程序 索引 容器
微信小游戏制作工具中的滚动列表插件如何使用?
微信小游戏制作工具中的滚动列表插件如何使用?
119 1
|
11月前
|
前端开发 数据可视化 网络协议
GIS前端-图形样式编辑
GIS前端-图形样式编辑
61 0
|
1月前
|
数据可视化 前端开发
可视化图表与源代码显示的动态调整
【8月更文挑战第6天】本篇文章通过一个前端图表示例由浅入深,从基本图表显示再到页面源代码的显示到最后实现通过拖动一个可调整大小的分隔符,使用户可以动态地调整图表显示区域和源代码显示区域的大小。全文注释标注,小白也可上手尝试
40 1
可视化图表与源代码显示的动态调整
好的设计,文本-------------------字体嵌入,图形化管理技术,当你搜索,或者关注某个具体的地方,可以引入一种使用图形进行外标,比如方框,以更快找到该内容
好的设计,文本-------------------字体嵌入,图形化管理技术,当你搜索,或者关注某个具体的地方,可以引入一种使用图形进行外标,比如方框,以更快找到该内容
|
2月前
|
JavaScript 数据库
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
|
数据可视化 定位技术
地图可视化开发技巧:geojson转svg后再转emf格式插入ppt实现编辑的解决方案
地图可视化开发技巧:geojson转svg后再转emf格式插入ppt实现编辑的解决方案
176 0
|
4月前
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
149 1
|
数据可视化 前端开发 JavaScript
漏刻有时数据可视化大屏引导页设计(php原生开发、主背景图片更换、标题设置)
漏刻有时数据可视化大屏引导页设计(php原生开发、主背景图片更换、标题设置)
126 0
|
数据可视化 开发工具 git
只会Excel想做图表可视化,让数据动起来?可以,快来围观啦(附大量模板下载)
只会Excel想做图表可视化,让数据动起来?可以,快来围观啦(附大量模板下载)
|
前端开发 定位技术
百度地图开发自定义信息窗口openInfoWindow样式的解决方案
百度地图开发自定义信息窗口openInfoWindow样式的解决方案
1187 0