环境已经搭建起来了。
现在就是无法创建一个临时的数据图层。
我试验了两种方法
1
UGWorkspace* m_pWorkspace = qMapControl->GetMap()->GetWorkspace();
UGDataSource *dataSource = m_pWorkspace->GetDataSource(0);
UGC::UGint gi = dataSource->GetDatasetCount(); //显示数量23
UGDatasetVectorInfo *info = new UGDatasetVectorInfo();
UGC::UGDataset *pDataset = dataSource->CreateDatasetVector(*info); //pDataset 为NULL
UGC::UGint gi = dataSource->GetDatasetCount(); //依旧23
2 UGDataSourceManager *dsManager = new UGDataSourceManager();
UGDataSource *dataSource = dsManager->CreateDataSource(UGC::UGEngineType::UDB);
UGC::UGint gi = dataSource->GetDatasetCount(); //显示数量0
UGDataset* pDataset
= dataSource->CreateCollection(g_pointDatasetName,UGC::UGDataset::DatasetType::Point);
UGC::UGint gi = dataSource->GetDatasetCount(); //显示数量0
UGLayer* pLayer = pMap->m_Layers.AddDataset(pDataset, pDataset->GetType());
所以我弄不明白的是pDataset的创建。
而且,找了半天,也没有发现后面如何创建OgdcFieldInfos,如果我要创建出来UGDataset,然后如何创建OgdcFieldInfos,如何往里面SetFieldValue呢?完全不知道如何操作。麻烦给个例子好么?谢谢。