creakwu
路人甲
路人甲
  • 注册日期2006-03-29
  • 发帖数13
  • QQ
  • 铜币209枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1305回复:0

MFC中用MapControl打开不同的影像时地图投影如何随时更新?

楼主#
更多 发布于:2008-08-08 15:45
MapControl中第二次打开影像时投影信息仍然保持上一次的,如何让其以当前的坐标投影显示?<BR>我用MapControl做一个打开遥感影像的模块,每一次打开具有不同投影信息的影像,但打开一次后清除此涂层再打开另外的影像时投影信息还是第一次打开时的????<BR>我的打开代码是:<BR>HRESULT hr; <BR>IRasterLayerPtr prasterly(CLSID_RasterLayer);<BR>hr=prasterly->CreateFromFilePath(_bstr_t("C:\2007TM.img"));<BR>if(FAILED(hr)) return;  <BR>ILayerPtr pLyr(prasterly);<BR>m_ipMap->ClearLayers();<BR>m_ipMap->AddLayer(pLyr);<BR>IActiveViewPtr pactiveview(m_ipMap);<BR>pactiveview->Refresh(); <BR><BR>//获取地图投影<BR>BSTR bsUnits;<BR>ISpatialReference* sp;<BR>hr=m_ipMap->get_SpatialReference(;sp); <BR>if(FAILED(hr)) return;<BR>hr=sp->get_Name(;bsUnits);<BR>if(FAILED(hr)) return;<BR><BR>我最终想要的效果是,MAP控件中总只有一个图层(当再次打开时要先删除以前的图层),并且投影信息要显示本次打开影像的投影。<BR>谢谢各位高手!<BR>
喜欢0 评分0
游客

返回顶部