添加地图注记出现的问题

◆ 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值