首页 / 浏览问题 / 移动GIS / 问题详情
怎样将查询到图斑设置为高亮
9EXP 2023年02月24日
通过QueryParameter查询到单个Recordset,将Recordset转为Geometry设置样式setStyle 样式不生效,图斑没有高亮

DatasetVector datasetvector = (DatasetVector) selectLayer.getDataset();

String strFilter = "SmID = '" + selectLayerId + "'";

QueryParameter parameter = new QueryParameter();

parameter.setAttributeFilter(strFilter);

parameter.setCursorType(CursorType.STATIC);

Recordset recordset = datasetvector.query(parameter);

if (recordset.getRecordCount() < 1) { return; }

Geometry geometry = recordset.getGeometry();

GeoStyle geoStyle = new GeoStyle();

geoStyle.setLineWidth(Double.valueOf(10));

geoStyle.setLineColor(new Color(255, 0, 0));

geoStyle.setFillForeColor(new Color(255, 0, 0));

geometry.setStyle(geoStyle);

geoStyle.dispose();

mapControl.getMap().refresh();

1个回答

您好,有两种方法

1.使用Selection selection = layer.getSelection();

再把查询到的geometry用selection.add方式添加到选择集中去,再用一设置好的geostyle设置selection的风格,最后刷新地图即可

2.把查询到的图斑对象设置风格后放到跟踪图层上面,下次查询时把跟踪图层上面的结果清除即可
3,685EXP 2023年02月24日
...