使用产品:iObjects Java 11i,操作系统 win10 x64
问题描述:创建CAD数据集,将原有的数据集的所有数据重新赋值到CAD数据集,想要把原有数据集的图层样式添加到CAD数据集里面,设置FillSymbolID.当前使用的是通过地图获取到原数据集的图层样式,获取SymboliD后,新建GeoStyle赋值,但结果不对,线数据可以获取到SymbolID,但点数据无法获取,或者此功能有没有其他办法进行实现。
部分代码如下:
Layer layer = mapControl.getMap().getLayers().get(name.concat("@").concat(GlobalParamterConfig.dataSourceVector));
int pointId = ((LayerSettingVector)layer.getAdditionalSetting()).getStyle().getFillSymbolID();
if (geometry != null && !geometry.isEmpty()) {
GeoStyle geoStyle = new GeoStyle();
geoStyle.setFillBackOpaque(false);
geoStyle.setFillGradientMode(FillGradientMode.NONE);
geoStyle.setLineWidth(1);
geoStyle.setFillForeColor(new Color(255, 0, 0));
geoStyle.setFillOpaqueRate(100);
if (geometry.getType()==GeometryType.GEOLINE) {
int LineStyleId = ((LayerSettingVector)layer.getAdditionalSetting()).getStyle().getLineSymbolID();
geoStyle.setLineSymbolID(LineStyleId);
}
geoStyle.setFillSymbolID(pointId);
geometry.setStyle(geoStyle);
}
boolean isAdd = recordsetResult.addNew(geometry, objectMap);