關於離線geodatabase中文標註無法顯示的問題,小編曾在《如何解決ArcGIS Runtime SDK for Android中文標註無法顯示的問題》一文中進行了詳細且完整的闡述。然而,在具體操作過程中,還是存在着諸多麻煩之處。今天呢,小編將再次探討一下這一問題的解決。
我們曉得,通過向本機的操作系統中安裝DroidSansFallback.ttf字體文件,當對mxd文檔中對應圖層的標註選擇字體時,只能獲得名爲Droid Sans Fallback的字體,隨後所生成的離線geodatabase的GDB_ServiceItem表中ItemInfo列的FontFamily屬性值也只會等於“Droid Sans Fallback”,而非我們所希望的“DroidSansFallback.ttf”。腫麼辦呢?
分析!分析!再分析!!
首先,我們可打開並預覽到DroidSansFallback.ttf字體文件中所顯示的字體名稱爲 Droid Sans Fallback。
基於大膽猜測、小心求證的科研精神(哈哈,貌似不需要啥膽量O(∩_∩)O~),我們就先預設這一屬性值即爲離線geodatabase創建過程中所獲取的實際值。那麼,接下來的步驟當然就是修改這一屬性值。
啓動FontCreator工具,打開DroidSansFallback.ttf文件。
依次點擊Font>Properties打開Font Properties對話框,在Identification選項卡下,將Font Family的值由Droid Sans Fallback修改爲DroidSansFallback.ttf,點擊確定。
點擊File>Export Font>Export As TrueType/OpenType Font保存爲DroidSansFallback.ttf文件。
雙擊以安裝這一導出的新的字體文件。
打開ArcMap,對要標註的圖層選擇並設置新增加的字體DroidSansFallback.ttf。
導出geodatabase,打開進行查看以驗證FontFamily的值。這裏的值已按照需要正確顯示。
按照上述方法,我們就無需再手動修改geodatabase表中的字段屬性值了。是不是方便了很多呢?
而且,更爲重要且可以說至爲關緊的是,當您在ArcGIS for Server所在的機器上安裝了這一字體且通過重啓機器確保字體生效後,以服務模式下載所獲取的geodatabase不經任何修改即可正確顯示中文標註了。自己給自己點個贊吧。
注:在加載FeatureLayer的時候,一定要調用setEnableLabels (true)方法實現標註信息的顯示。