www.gusucode.com > VC++开源的SHP格式GIS地图查看软件源程序源码程序 > VC++开源的SHP格式GIS地图查看软件源程序源码程序\code\MapLayer.cpp
//Download by http://www.NewXing.com #include "stdafx.h" #include "MapLayer.h" #include "MapPoint.h" #include "MapPoints.h" #include "MapLine.h" #include "MapPolygon.h" #include "MapRecordSet.h" #include "MapTableDesc.h" CMapLayer::CMapLayer() { m_bVisible = TRUE; m_Valid = FALSE; m_csLayerName = _T(""); m_pRender = new CMapRender; m_pRender->SetRenderType(SIMPLE_RENDER); } CMapLayer::~CMapLayer() { if ( m_pRender != NULL ) delete m_pRender; } BOOL CMapLayer::LoadData(CString& csFileName) { CString csDbfName; if (m_shpFile.ReadShp(csFileName)) { m_Valid = TRUE; return TRUE; } else { m_Valid = FALSE; return FALSE; } } CMapRectangle CMapLayer::GetExtent() { return m_shpFile.GetExtent(); } long CMapLayer::GetShpType() { return m_shpFile.GetShpType(); } BOOL CMapLayer::GetVisible() { return m_bVisible; } void CMapLayer::SetVisible(bool bVisible) { m_bVisible = bVisible; } void CMapLayer::SetLayerName(CString& csLayerName ) { m_csLayerName = csLayerName; } CString CMapLayer::GetLayerName() { return m_csLayerName; } void CMapLayer::SetExtent(CMapRectangle& extent ) { m_shpFile.SetExtent(extent); } void CMapLayer::SetShpType(int lShpType ) { m_shpFile.SetShpType(lShpType); } int CMapLayer::SearchShape(CMapPoint& pt ) { if ( GetShpType() != POLYGON ) return -1; else { return m_shpFile.SearchShape(pt); } } void CMapLayer::SetRender(CMapRender* pRender ) { if ( m_pRender != NULL ) delete m_pRender; m_pRender = pRender; } void CMapLayer::DrawLayer(CDC*pDC , DrawParam& draw) { m_shpFile.DrawShp(pDC , m_pRender , draw ); } void CMapLayer::FlashShp(CDC*pDC , DrawParam& draw , int iIndex) { m_shpFile.FlashShp(pDC,draw,iIndex); }