ArcGIS API for Android 案例教程 15

属性编辑

别嫌我懒,ArcGIS Android API中正好还有一个进行编辑的例子,让我可以拿来主义一下。在这个AttributeEditor例子中,当你点击一个要素,程序就会弹出一个编辑要素属性的对话框供你对现有值进行修改:

clip_image002 clip_image004

图 33 编辑要素的属性

点击一个要素,从服务查询到该要素的属性信息在前面的内容中已经叙述过了,如何将查询到的属性显示在一个对话框中也是比较容易的(例子中将如何根据属性值来构建对话框这个过程进行了封装,这部分可以略过),我们需要关心的是一旦修改了某个属性值,然后点击对话框中的“Apply”按钮后,程序如何把更改保存到服务器。

剥开这个例子里层层叠叠的封装(我实在想说这个例子写的真差……)后,其实它想要告诉大家的是应该通过这样的方式来保存编辑到服务器:

Graphic newGraphic = new Graphic();

…//一系列赋值

newGraphic.setAttributeValue(featureLayer.getObjectIdField(),
listAdapter.featureSet.getGraphics()[0]
.getAttributeValue(featureLayer.getObjectIdField()));

featureLayer.applyEdits(null, null, new Graphic[] { newGraphic },
createEditCallbackListener(updateMapLayer));

没错,这个地方看起来就和其他ArcGIS的Web API非常类似了,逻辑上就是新建一个Graphic对象,并将修改过的属性值赋予这个Graphic(别忘了ObjectID,这是标识编辑哪个要素的必需属性),然后调用ArcGISFeatureLayer的applyEdits方法进行提交。没错,Feature Layer已经封装了Feature Server服务中的applyEdits接口,保存编辑到服务器只需要简单的调用这个方法就可以了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值