首页 / 浏览问题 / 移动GIS / 问题详情
Android如何通过Action.SELECT获取到线/面对象
45EXP 2022年02月15日
如何使用Action.SELECT获取到选中的线/或者面对象,取到面对象以后来获取面对象的节点坐标。有没有官网实例。

1个回答

需要注册地图控件的对象选中监听器addGeometrySelectedListener,对象选中后会响应GeometrySelectedListener,从而拿到选中的选择集,从选择集里获取几何对象,取出对象内部的节点信息
1,560EXP 2022年02月16日
对象选中后会响应GeometrySelectedListener,之后的操作能具体说下不,方法我没找到
通过事件回调获取到选择对象的ID和Layer,通过layer获取到datasetvector数据集,然后对数据集根据ID查询得到recordset记录集,最后从recordset记录集里取出geometry几何对象。
好的 我自己看看不懂在问您 谢谢
DatasetVector datasetVector = (DatasetVector) event.getLayer().getDataset();
QueryParameter parameter = new QueryParameter();
String test = "SmID="+event.getGeometryID();
parameter.setAttributeFilter(test);
parameter.setCursorType(CursorType.STATIC);
Recordset recordset = datasetVector.query(parameter);
Geometry geometry = recordset.getGeometry();

我这么写对不,获取对象内部节点使用什么方法

geometry是父类,得强制转换为它的子类,比如如果是面,那么就强制转换为GeoRegion,然后遍历面对象的所有子对象getPart()方法得到Point2Ds点集合,在遍历点。
...