添加图层

void CmapwingisTest2View::OnToolsAddLayer()

{

         TCHAR szFilters[]= _T("TIFF Files (*.tif)|*.tif|SHP Files (*.shp)|*.shp||");  

         CFileDialog fileDlg (TRUE,_T("tif"),_T("*.tif"),  

                   OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);  

         if( fileDlg.DoModal ()!=IDOK )   return;

         CString m_strFilePath = fileDlg.GetPathName();  

         if (_T("")!=m_strFilePath)  

         {  

                   // 先删除所有图层  

                   //m_map.RemoveAllLayers();  

                   // 获取后缀名判断文件是tif图像还是shp文件  

                   CString strExt = m_strFilePath.Right(3);  

                   if (_T("tif")==strExt)  

                   {  

                            // 创建图像接口打开图像加入地图  

                            mapWindow::IImagePtr pImage;  

                            pImage.CreateInstance(__uuidof(mapWindow::Image));  

                            pImage->Open(_bstr_t(m_strFilePath),mapWindow::USE_FILE_EXTENSION,TRUE,NULL);  

                            m_map.AddLayer(pImage,true);   

                   }

                   if (_T("shp")==strExt)  

                   {  

                            mapWindow::IShapefilePtr pshapefilebound;

                            pshapefilebound.CreateInstance(__uuidof(mapWindow::Shapefile));

                            pshapefilebound->Open(_bstr_t(m_strFilePath),false );

                            m_map.AddLayer( pshapefilebound,TRUE) ;

                            return;

                                               }

         }

         return;

}

猜你喜欢

转载自www.cnblogs.com/hyhy904/p/11491402.html