首页 / 浏览问题 / 组件GIS / 问题详情
使用符号面板上的符号标绘时如何将它们删除
56EXP 2020年03月20日
我在使用你们c++组件上自带的符号标绘面板时,当把软件关掉,再次启动时,我上次标绘的符号还在地图上,我该如何把它删掉,它是画在哪个图层的

1个回答

您好,标绘对象绘制在地图中的可编辑CAD图层,保存在对应的CAD数据集中,要清除的话,需要对数据集进行操作.

    UGDataSource* datasource = pWorkSpace->GetDataSource(_U("World")); // 获取数据源
	UGDatasetVector *pToDataset = (UGDatasetVector*)datasource->GetDataset(_U("DrawCAD")); 获取数据集
	pToDataset->GetType();


	UGQueryDef queryDef;

	pToDataset->Open(); // must

	queryDef.m_nType = UGQueryDef::General;
	if (pToDataset->GetType() == UGDataset::Tabular)
	{
		queryDef.m_nOptions = UGQueryDef::Attribute;
	}
	else
	{
		queryDef.m_nOptions = UGQueryDef::Both;
	}
	queryDef.m_nMode = UGQueryDef::GeneralQuery;
	queryDef.m_nCursorType = UGQueryDef::OpenDynamic;


	UGRecordset *pToRecordset = pToDataset->Query(queryDef);
	
    pToRecordset->DeleteAll(); // 删除所有记录

	pToRecordset->Close();
	delete pToRecordset;

694EXP 2020年03月20日
你好!我打开的是china400地图,,没找到drawcad图层,pToDtaset的值为0,
使用你那儿数据源、数据集的名称名称即可,这只是个示例。
...