ArcGIS API for JavaScript如何使用本地的字体库

5
分享 2019-01-30
大佬:小伙子我看你我看你骨骼精奇,跟我学js吧。
我 :什么样的啊
大佬:超简单的那种啊
我 :我信你个鬼,你个糟老头子坏得很​



ArcGIS API for JavaScript如何使用本地的字体库

  书接上文,之前介绍了如何将本地字体库格式例如ttf转换为PBF,那么如何在ArcGIS API for JavaScript(下文以jsAPI表示)进行使用呢。
  在MapViews中Labeling支持 FeatureLayer, CSVLayer, StreamLayer, 以及Sublayer。你可以使用LabelClass对象的数组来构造labelingInfo,而LabelClass包含了labelExpressionInfo, labelPlacement, TextSymbol。TextSymbol则支持设置color, font, halo以及其他的属性进行要素标注。其中Font可以设置 Font.family, Font.style,和Font.weight属性,这三个属性就是基于.pbf格式的字体文件实现的。默认情况下jsAPI使用的是https://static.arcgis.com/fonts来进行访问这些字体文件,其中支持的字体可以从 List of currently supported fonts进行查看。那么如果我是内网环境,或者我想用我自己的好看的字体,我们要怎么办呢。
  很简单,你可以使用esriConfig.fontsUrl属性来设置自己的字体库。在这里需要注意的一点是你的.pbf格式的字体文件需要遵循Esri的命名规范(例如"arial-unicode-ms-bold")。我们将已经转换好的.pbf格式的字体文件放置到web容器中(以IIS为例),然后我们需要在IIS管理器中添加MIME类型使其支持.pbf。添加内容如下:


之后我们就可以在jsAPI中开心的使用自己的字体库了。ps:当Font类型不可用时,会自动使用默认字体类型sans-serif,使用的是arial-unicode-ms字体文件,所以本地字体库中一定要添加该字体文件。

测试代码以及字体库我上传到了https://github.com/swaggyPYang/arcgisapi中。当然你也可以直接查看效果
作为一个90后,既然早早地抱起了保温杯,泡上了枸杞水,那就认真地过好每一天吧。

文章来源:http://www.jianshu.com/p/92f0798f93f4

6 个评论

这篇需要置顶。
中文字体是否支持?
支持
配置了fontsUrl,还是调了外网的是怎么回事,求解~~
跑了下这个例子,看后台好像调的还是ttf文件?
方玉

方玉 回复 方玉

解决了...是自己引用写错了
赞,解决了问题

要回复文章请先登录注册