大佬:小伙子我看你我看你骨骼精奇,跟我學js吧。
我 :什么樣的啊
大佬:超簡單的那種啊
我 :我信你個鬼,你個糟老頭子壞得很

ArcGIS API for JavaScript如何使用本地的字體庫
??書接上文,之前介紹了如何將本地字體庫格式例如ttf轉換為PBF,那么如何在ArcGIS API for JavaScript(下文以jsAPI表示)進行使用呢。
??在MapViews中Labeling支持 FeatureLayer, CSVLayer, StreamLayer, 以及Sublayer。你可以使用LabelClass對象的數(shù)組來構造labelingInfo,而LabelClass包含了labelExpressionInfo, labelPlacement, TextSymbol。TextSymbol則支持設置color, font, halo以及其他的屬性進行要素標注。其中Font可以設置 Font.family, Font.style,和Font.weight屬性,這三個屬性就是基于.pbf格式的字體文件實現(xiàn)的。默認情況下jsAPI使用的是https://static.arcgis.com/fonts來進行訪問這些字體文件,其中支持的字體可以從 List of currently supported fonts進行查看。那么如果我是內(nèi)網(wǎng)環(huán)境,或者我想用我自己的好看的字體,我們要怎么辦呢。
??很簡單,你可以使用esriConfig.fontsUrl屬性來設置自己的字體庫。在這里需要注意的一點是你的.pbf格式的字體文件需要遵循Esri的命名規(guī)范(例如"arial-unicode-ms-bold")。我們將已經(jīng)轉換好的.pbf格式的字體文件放置到web容器中(以IIS為例),然后我們需要在IIS管理器中添加MIME類型使其支持.pbf。添加內(nèi)容如下:

??之后我們就可以在jsAPI中開心的使用自己的字體庫了。ps:當Font類型不可用時,會自動使用默認字體類型sans-serif,使用的是arial-unicode-ms字體文件,所以本地字體庫中一定要添加該字體文件。
測試代碼以及字體庫我上傳到了https://github.com/swaggyPYang/arcgisapi中。當然你也可以直接查看效果
作為一個90后,既然早早地抱起了保溫杯,泡上了枸杞水,那就認真地過好每一天吧。