首页 / 浏览问题 / 移动GIS / 问题详情
Android端态势标绘的图标样式怎么修改?
15EXP 2020年12月08日

使用产品:iMobile v1010 for android

问题:我已经实现态势标绘上图的功能,但我想选中某个图标后编辑它的风格,比如颜色,我通过以下代码尝试设置,但没有起作用,不知道正确的做法应该是怎样的?

assert control != null;
Geometry geometry = control.getCurrentGeometry();
UtilsKt.d(TAG, "当前绘制的Geometry=", geometry);
if (geometry instanceof GeoGraphicObject) {
	GeoGraphicObject object = (GeoGraphicObject) geometry;
	GeoStyle style = new GeoStyle();
	com.supermap.data.Color color = new com.supermap.data.Color(45, 93, 236);
	style.setFillBackColor(color);
	style.setFillForeColor(color);
	object.setStyle(style);
}
control.submit();
control.setAction(Action.SELECT);
control.getMap().refresh();

1个回答

您好,设置标绘对象的风格通过设置几何对象的风格Geostyle来实现。由于CAD数据集本身是可以存储属性的,可以获取到该标绘对象,然后设置好风格后,使用recordset.setGeometry()重新设置几何对象。参考代码:

Recordset recordset = ((DatasetVector)dataset).getRecordset(false,CursorType.DYNAMIC);
recordset.edit();
GeoGraphicObject geometry1 = (GeoGraphicObject) recordset.getGeometry();
GeoStyle geoStyle = new GeoStyle();
geoStyle.setLineColor(new Color(0,255,0));
geometry1.setStyle(geoStyle);
recordset.setGeometry(geometry1);
recordset.update();
9,127EXP 2020年12月08日
...