再谈ArcGIS Runtime SDK for Android中文标注无法显示的问题

来源:互联网 发布:matlab迭代算法 编辑:程序博客网 时间:2024/05/22 14:05

      关于离线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文件。

FontCreator中打开

      依次点击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中字体

      按照上述方法,我们就无需再手动修改geodatabase表中的字段属性值了。是不是方便了很多呢?

      而且,更为重要且可以说至为关紧的是,当您在ArcGIS for Server所在的机器上安装了这一字体且通过重启机器确保字体生效后,以服务模式下载所获取的geodatabase不经任何修改即可正确显示中文标注了。自己给自己点个赞吧。


      注:在加载FeatureLayer的时候,一定要调用setEnableLabels (true)方法实现标注信息的显示。

1 0
原创粉丝点击