◆ 1、问题产生:
最近学习地图二次开发的基础,在添加注记时出现错误,但是用法也没有错,不知道是什么原因,经过一上午的摸索终于解决了,与大家分享,希望能帮助有需要的人。

Graphic gPnt = buildGraphic(pnt,new SimpleMarkerSymbol(color,width,STYLE.CIRCLE),attr);
TextSymbol tSymbol =  new TextSymbol(16,strPointNum+":"+str, Color.GREEN);
Graphic gTxt = buildGraphic(pnt,tSymbol,attr);

上面一段代码是想将str中的中文文本添加到地图上,在android 5.0以下的版本进行真机调试正常,但是在android 5.0以上则报错。

◆ 2、具体原因:
为什么会出现上述的问题呢?通过查阅资料我在网上看到以下这样一段话。

Android系统中一般中英文字体包,主要是DroidSansFallback.ttf(中文字体)、DroidSans.ttf(英文字体)、 DroidSans-Bold.ttf(英文加粗字体)这三种,因为这三种字体是Andorid系统中几乎每一个显示界面都要使用到的字体,是默认的系统字体,所以只要你是Android手机,一般系统就内置有这三款字体。

但对于定制的Android系统有没有这个字体,这个字体是不是默认的就真的不好说了。如我使用的定制的5.0系统就没有这个字体,运行出现问题,但在4.4版本上运行正常。

◆ 3、解决问题:
1)、Android 5.0以下版本,检查手机字体库内是否包含DroidSansFallback.ttf字体,若包含则在使用TextSymbol时设置使用的字体。(设置其他字体也是可以的,但是该字体要支持中文)

2)、Android 5.0以上版本,由于默认的otf格式字体不被识别,所以先将DroidSansFallback.ttf字体文件拷贝到手机系统字体文件夹下,然后设置使用。(对于用到的手机每个都Root并设置也不是很现实)

3)、对于网上提到的加载自定义本地字体解决方案,关键代码如下所示,其中字体类是Typeface,我并没有在TextSymbol中找到对应的设置接口,所以这条路暂时也没有走通。

◆4、参考资料:

http://www.68idc.cn/help/buildlang/ask/20150102153583.html

http://www.zhihu.com/question/26202765

http://jingyan.baidu.com/article/8275fc86b80c6d46a03cf6f9.html

http://my.oschina.net/ryanhoo/blog/260945?p=1

http://www.cnblogs.com/gis-luq/p/4833361.html

添加地图注记出现的问题相关推荐

  1. SuperMap杯全国高校GIS大赛-桌面与组件开发组学习资料

    #一. SuperMap软件安装与许可配置 大赛桌面与组件开发组的选手需要使用 SuperMap iDesktop插件式开发方式或者SuperMap iObjects .NET组件软件设计开发一个GI ...

  2. SuperMap杯全国高校GIS大赛-制图组学习资料

    ##一. SuperMap软件安装与许可配置 大赛制图组的选手需要使用 SuperMap iDesktop软件配置一幅(或多幅)平面地图,自定义主题,自备数据,要求地图美观专业,视觉感染力强,显示流畅 ...

  3. SuperMap杯全国高校GIS大赛-应用分析组学习资料

    #一. SuperMap软件安装与许可配置 大赛应用分析组的选手需要基于 SuperMap iDesktop或SuperMap iObjects .NET软件,使用GIS的方法,通过对空间数据的分析和 ...

  4. ArcGIS地图制作的注记、格网添加

    1.如何避免地图注记重复标记 在制图过程中,我们可能会发现,在同一区域上有多个注记重复标记,这无疑是十分影响地图阅读使用的,同时也十分的不美观,使得图面十分繁复,为避免相关情况出现,我们可以选择进行以 ...

  5. vue + ArcGIS 地图应用系列三:添加常规的地图组件

    为了页面的美观,这里我们使用的UI库为: Ant Design Vue 项目源码仓库地址:https://github.com/LuckRain7/arcgis-api-for-javascript- ...

  6. 阿里云如何将服务器添加至跳板机,如何将服务器添加至jumpsever

    如何将服务器添加至跳板机. 获取跳板机/root/.ssh/id_rsa.pub 中的内容 登陆要添加到跳板机的目标机器 /root/.ssh/authorized_keys 将跳板机id_rsa.p ...

  7. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  8. Git 常用操作(1)- 配置、查看、添加、暂存和提交

    1. Git 基本概念 Git 有三种状态:已提交(committed).已修改(modified)和已暂存(staged). 已提交:表示数据已经安全的保存在本地数据库中. 已修改:表示修改了文件, ...

  9. Linux shell 学习笔记(5)— 文件权限(添加、修改、删除用户及创建、修改群组)

    1. Linux的安全性 Linux 安全系统的核心是用户账户.每个能进入 Linux 系统的用户都会被分配唯一的用户账户.用户对系统中各种对象的访问权限取决于他们登录系统时用的账户. 用户权限是通过 ...

  10. hadoop 添加删除机器以及设置免密登录

    添加hadoop机器 先在slaves中添加机器 然后启动datanode $: ./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh start datan ...

最新文章

  1. 别再用那些已经淘汰的技术了!2020年9大顶级Java框架出炉!!
  2. ViewPager+TabLayout+Fragment刷新Fragment中的数据
  3. java中如何判断aabb_java判断改错题
  4. Linux命令之ifconfig
  5. 怒怼腾讯加班的应届生本人回应:已找到新工作
  6. Golang 结构类型
  7. “文艺复兴” ConvNet卷土重来,压过Transformer!FAIR重新设计纯卷积新架构
  8. html文件如何添加到.net项目中中,如何在.NET中添加对mshtml版本9的引用
  9. android最新adt下载地址,Android SDK和最新ADT下载地址
  10. 第五届山东ACM大赛汇总
  11. matlab自带滤波器,matlab自带滤波器函数
  12. 电脑更改IP地址后,Oracle数据库需要重新配置IP问题(一招搞定,永久有效)
  13. WIN2003 装不上mssql2000
  14. 小巷开店问题(第三题)
  15. Router-view
  16. rxjava背压_关于Rx Java:如何在RxJava RabbitMQ Observable中实现背压?
  17. 情感脑机接口与跨被试情感模型问题研究
  18. error: You have not concluded your merge (MERGE_HEAD exists).
  19. TIA博途中如何设计报警功能块FB,来简化编写离散量报警程序的时间?
  20. insmod 和 modprobe使用方法

热门文章

  1. 分布式系统与海量数据处理
  2. SecureCRT 过期
  3. ARM上移植ser2net源码
  4. 世界电子书展:号称最大的电子书库
  5. 关于博弈论的硬币问题
  6. 警察抓小偷打字游戏JAVA_警察抓小偷打字游戏金山打字通游戏
  7. 【postgresql 数据库运维文档】
  8. fc安卓模拟器_MAME街机模拟器0.224经典游戏全收藏
  9. ubuntu18.04引导界面、登录界面美化
  10. 即时通讯服务服务器 ejabberd、jabber、jabberd、xmpp简介