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

2023-11-15

前言

本文使用的是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 在国内使用的很少,在网上能找到的中文资料不多,开发难度还是有点大的,上文的不足甚至错误的地方希望各位能指出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • [论文阅读] (01) 拿什么来拯救我的拖延症?初学者如何提升编程兴趣及LATEX入门详解

    又是在凌晨三点赶作业 又是在Deadline前去熬夜 一次次无眠 一次次抱怨 为什么三年前 两年前 一年前 甚至是昨天 我都下定决心 从现在开始读顶会论文 却又悄悄选择逃避 为什么我的收藏夹存了很多学习资料和视频 然而却没有再次翻起 为什么
  • linux快捷命令行

    对于程序员 经常要跟linux打交道 想想 每一行linux命令行省下那么一点点时间 一年下来省下的时间将可以 避免一个项目的delay 陪老婆去度一次蜜月 陪孩子去一次迪士尼 当然 首先你得有对象 接下来直接进入主题 首先我输入了一段自我
  • java怎么完成输出语句

    我们在前面的文章和案例中 其实早就知道Java是如何实现输出功能的了 没错 就是利用System out println 语句来实现的 接下来壹哥就给大家详细解读一下这个语句的作用及其含义 1 System 我们先来看看System是个什么
  • 为什么要使用MQ消息中间件?这几个问题必须拿下!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 这篇文章开始 我们把消息中间件这块高频的面试题给大家说一下 也会涵盖一些MQ中间件常见的技术问题 假如面试官看你简历里写了MQ中间件的使用经验 很可能会有如下问题 你
  • 安装Node.js (基于Ubuntu 20.04)

    文章目录 前言 方式一 从默认仓库安装 安装 需要权限 但是 但是 但是 方式二 从PPA NodeSource 安装 方式三 使用Node管理工具安装 nvm 前言 JavaScript 是 Web 开发中的主流语言 开发者一直的将其应用
  • java按钮数组_Java按钮控件数组实现计算器界面

    编写程序 通过按钮数组来管理界面中的所有按钮控件 从而使用最少的代码实现模拟的计算器界面 思路如下 创建一个类 通过extends使其继承窗体类JFrame 创建一个JFrame对象 使用JFrame类的setVisible 方法设置窗体可
  • 【LeetCode刷题】219 存在重复元素2

    题目 给你一个整数数组 nums 和一个整数 k 判断数组中是否存在两个 不同的索引 i 和 j 满足 nums i nums j 且 abs i j lt k 如果存在 返回 true 否则 返回 false 示例 class Solut
  • Dynamic Key-Value Memory Networks for knowledge Tracing

    Dynamic Key Value Memory Networks for knowledge Tracing Memory Augmented Neural Networks MANN text MANN MANN是一种用于多种NLP任务
  • nginx做反向代理报错peer closed connection in SSL handshake while SSL handshaking to upstream

    目录 一 具体报错 一 背景简述 二 其他说明 二 分析和解决 一 配置域名访问反向代理未解决 二 配置proxy ssl server name解决 一 具体报错 一 背景简述 有个业务系统A部署在云上 由于某种原因需要用到nginx反向
  • 处理textarea换行问题

    大家做前端的时候 相信都遇到过 利用多行文本控件 textarea 录入数据 多段落回车换行 但是在页面展示时 换行就不出效果了 有什么办法可以解决呢 下面给大家介绍两种个人觉得最简单的方法 一 JS替换法
  • 【新版】系统架构设计师 - 软件架构设计<轻量级架构>

    个人总结 仅供参考 欢迎加好友一起讨论 文章目录 架构 软件架构设计 轻量级架构 考点摘要 轻量级架构 表示层 业务逻辑层 持久层 数据库 SSH与SSM ORM Hibernate与Mybatis 架构 软件架构设计 轻量级架构 考点摘要
  • csdn个人首页变了

    csdn是不是要换个人首页样式了 怎么变了后又变回来了
  • 如何快速选择合适的模型和prompt,langchain来帮你

    构建您的语言模型应用程序可能需要在多种提示 模型甚至Chain 这是Langchain的概念 之间进行选择 在这个过程中 您需要以简单 灵活且直观的方式比较不同选项在不同输入上的表现 LangChain提供了一个名为ModelLaborat
  • 微信小程序云端函数报错解决方案

    VM4174 1 thirdScriptError errCode 1 errMsg Cloud API isn t enabled please call wx cloud init first 请先调用 wx cloud init 完成
  • AIGC将颠覆设计界?!今晚直播间解密AIGC之图像生成史

    从DeepFake 风格迁移到 Midjourney DALL E AIGC的应用一次又一次带给我们惊喜 这些背后的蕴藏着哪些原理 赶快加入AIGC图像生成直播课 探索AI生成艺术的奥秘 2月28日 3月7日每周二晚8点 系列直播课 扫码报
  • c++如何创建项目

    C 是一门广泛应用于计算机科学领域的编程语言 它能够实现高效的程序编写和性能优化 在开始C 编程之前 我们需要创建一个新的项目来存储我们的代码和资源文件 本文将详细介绍如何在各个平台上使用不同的IDE 集成开发环境 创建C 项目 1 在Wi
  • C#中关于InvokeRequired 属性 与Invoke方法

    C 中禁止跨线程直接访问控件 InvokeRequired是为了解决这个问题而产生的 当一个控件的InvokeRequired属性值为真时 说明有一个创建它以外的线程想访问它 Windows 窗体中的控件被绑定到特定的线程 不具备线程安全性
  • linux中shell脚本手动可执行,定时任务却失败

    linux中shell脚本手动执行没问题 crontab定时执行失败 可能是环境配置出问题 原本代码为 bin sh cd root goItem test go run main go 可在 bin sh 后加入 source etc p
  • HTML select下拉菜单选中选项后直接触发函数

    可以通过onchange事件实现
  • ArcGIS For Android 在地图上显示属性图形信息和属性文本信息

    前言 本文使用的是10 2 8的版本 需求是要在切片地图上显示出自定义的村镇界线 森林地块的树种信息等信息 方法一 第一种就是利用Symbol类中的TextSymbol来显示 使用的是 shp文件 TextSymbol textSymbol