创建自定义字形和精灵,以与Mapbox配合使用

时间:2019-08-29 11:43:04

标签: mapbox

我想自托管我的矢量地图。我正在使用某些自定义字体和一些自定义图标。

当我在Mapbox Studio中创建样式并稍后导出时,我的样式文件中将包含以下两行:

"sprite": "mapbox://sprites/<user>/<token>/<token>",
"glyphs": "mapbox://fonts/<user>/{fontstack}/{range}.pbf",

我现在的问题是如何自己创建这些文件?我有一个包含.svg.ttf文件的文件夹。但是,现在如何将它们设置为所需的格式?

我尝试了https://github.com/openmaptiles/fonts的字形部分,但无法正常运行。然后我发现了https://github.com/mapbox/glyph-pbf-composite,但不知道它应该如何工作。

1 个答案:

答案 0 :(得分:1)

简单的方法是:

  1. 将svgs和字体添加到MapBox样式中
  2. 在浏览器中打开测试图
  3. 使用浏览器的dev工具检查网络调用。找到调用以获取精灵和字形文件
  4. 在新的浏览器标签中打开这些URL,然后保存已下载的文件

否则,如果要在不使用MapBox Studio的情况下生成文件:

您将使用https://openmaptiles.org/docs/style/mapbox-gl-style-spec/

中说明的两个实用程序

生成Sprite文件:SpriteZero CLI-https://github.com/mapbox/spritezero-cli

字形文件生成:genfontgl-https://github.com/openmaptiles/genfontgl

最后,当定义文件的路径时,即使不使用它们,在字形路径中仍然需要标记。所以像

"glyphs": "/data/myfonts.pbf?{fontstack}{range}",