默认头像
路人甲
路人甲
  • 注册日期2007-04-27
  • 发帖数3
  • QQ
  • 铜币116枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1449回复:1

关于arcengine加载注记图层的问题

楼主#
更多 发布于:2007-09-08 20:15
我把注记图层单独转换出来,放在geodatabase里面,请问如何将它加载到mapcontrol控件里面,谢谢:)
这是现在的代码,可是还是没有加载成功,那位可以提供更加详细的代码,不胜感激。
Dim layerclass As IAnnotationLayerFactory
       Dim layer As IGeoFeatureLayer
       layerclass = Workspace.OpenFeatureClass("jcdl_shxzqhAnno")
       layer = New FeatureLayer
       layer.FeatureClass = layerclass
       layer.Name = "上海市行政区划注记层"
       axMapControl1.Map.AddLayer(layer)
       axMapControl1.ActiveView.Refresh()
喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2004-09-22
  • 发帖数358
  • QQ
  • 铜币1045枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-09-09 17:04

注记图层的打开,不是这样收拾的。帮助里面有说怎么打开注记的。

顺便看我写的吧,能顺利打开注记图层的。

IFeatureClassPtr ipFClass;
HRESULT result = ipFeatureWorkspace->OpenFeatureClass(
 CComBSTR(layer.strSdeLayer), ;ipFClass);
if (FAILED(result) || NULL == ipFClass) {
 TRACE("\n缺少图层表:%s", layer.strSdeLayer);
 return FALSE;
}

esriFeatureType ftype;
result = ipFClass->get_FeatureType(;ftype);
if (FAILED(result)) {
 AfxMessageBox("查询SDE图层类型出现错误。");
 return FALSE;
}


ASSERT(NULL != ipGLayer);
if (esriFTAnnotation == ftype) {
 ILayerPtr ipLayer;
 IFeatureDatasetPtr d;
 ipFClass->get_FeatureDataset(;d);  
 IFDOGraphicsLayerFactoryPtr pGLF(CLSID_FDOGraphicsLayerFactory);
 pGLF->OpenGraphicsLayer(ipFeatureWorkspace, d, CComBSTR(layer.strSdeLayer), ;ipLayer);
 ipLayer->put_Name(CComBSTR(layer.strName));
 IAnnotationLayerPtr ipALayer = ipLayer;
 ipGLayer->Add((ILayerPtr)ipLayer);
}

由爱故生忧, 由爱故生怖. 若离于爱者, 无忧亦无怖.
举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部