ArcGIS For Android 在地图上显示属性图形信息和属性文本信息

前言

本文使用的是10.2.8的版本。需求是要在切片地图上显示出自定义的村镇界线,森林地块的树种信息等信息。

方法一:

第一种就是利用Symbol类中的TextSymbol来显示,使用的是.shp文件。

TextSymbol textSymbol = new TextSymbol(textSize, labelTag,Color.parseColor(textColor));textSymbol.setFontFamily("DroidSansFallback.ttf");Graphic textGraphic = new Graphic(point, textSymbol);graphicsLayer.addGraphic(textGraphic);

point即是直接读取要素的中心点(亦或是重心点),让文本信息直接显示在地块上面。需要注意将文本的格式设置为DroidSansFallback.ttf。在ArcGIS默认的文本格式是不兼容Android的文本库的。
这种方法只能去显示固定的值,并且通过这种画的方法来显示文本速度是很慢的。对于需要频繁移动地图的操作者来说,卡顿很明显,体验很差。
另外在ArcGIS提供的API中想要获取SHP文件中的Feature对象是很不方便的,需要去查询,因此即时获取它的属性信息就很困难。


方法二:

第二种是利用.geodatabase 文件来显示信息。

Geodatabase geodatabase = new Geodatabase(PathConfig.KB_URL);List geoDatabaseTables =geodatabase.getGeodatabaseTables();for (GeodatabaseFeatureTable geoDatabaseTable : geoDatabaseTables) {FeatureLayer layer = new FeatureLayer(geoDatabaseTable);mMapView.addLayer(layer);}

PathConfig.KB_URL:.geodatabase文件的存放路径。这方法是文本,图形的绘制属性都在.geodatabase文件内部,android代码中不需要处理了,利用这种方法显示信息速度十分快,在大量数据的情况下也能比较流畅。效果图:这里写图片描述

如果要修改显示的样式,无法在Android中修改,需要去修改.geodatabase文件中的字段,本人是利用火狐浏览器中的SQLiteManeger插件来修改字段的。

经评论指正,修改了:修改的字段在表GDB_ServiceItems中,字段是AdvancedDrawingInfo。

因此这种方法的数据是较固定、难修改的,只能依靠替换.geodatabase文件来更新数据。适合显示一些稳定的信息,例如乡镇地界等。

ArcGIS for Android 在国内使用的很少,在网上能找到的中文资料不多,开发难度还是有点大的,上文的不足甚至错误的地方希望各位能指出。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ArcGIS for Android 100天地图缓存功能是指在移动设备上通过使用ArcGIS for Android软件,可以对地理数据进行离线缓存,以实现在没有网络连接的情况下查看、分析和编辑地图数据的能力。这一功能对于在野外等无网络环境下进行地图工作的人员来说非常重要。 使用ArcGIS for Android软件,用户可以选择将需要的地理数据区域离线缓存到设备内存中,包括底图、图层、要素数据等。在网络连接正常时,可以通过在线地图服务加载并显示地图数据,而在无网络连接时,可以切换到离线缓存的地图数据,继续进行工作。 这种地图缓存功能有助于提高工作效率和数据安全性。通过离线缓存地图数据,用户不需要实时的网络连接就能够加载和查看地图数据,使得在无网络环境下依然能够完成地图分析和编辑工作。此外,由于数据保存在本地设备上,也减少了对网络连接和数据传输的依赖,提高了数据的安全性。 在实际应用中,用户可以根据需要选择缓存地图的详细程度和范围,以及缓存的数据类型。这样可以根据实际情况,减少对设备存储空间的占用,并提高数据加载和显示的速度。用户还可以随时更新地图缓存,以保持地图数据的最新性。 总而言之,ArcGIS for Android的100天地图缓存功能为用户提供了在无网络连接的情况下继续进行地图工作的能力,提高了工作效率和数据安全性。同时,用户可以根据实际需求进行灵活的地图缓存设置,以优化设备性能和减少存储空间的占用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值