ArcGIS 生成指北针
来源:互联网 发布:中国消防网域名 编辑:程序博客网 时间:2024/05/07 05:22
Step 1:
pPoint.CreateInstance(__uuidof(Point));
pPoint->PutX(pEnvelop->GetXMax()-2.5);
pPoint->PutY(pEnvelop->GetYMax()-3.5);
IUIDPtr pUID;
pUID.CreateInstance(__uuidof(UID));
varVal=L"esriCarto.MarkerNorthArrow";
pUID->PutValue(varVal);
pElementExtent.CreateInstance(__uuidof(Envelope));
pElementExtent->PutCoords(pPoint->GetX(),pPoint->GetY(),pPoint->GetX()+2,pPoint->GetY()+2);
pMapSurround = CreateSurround(pUID, pElementExtent, "North Arrow", pMap, m_pPageLayoutControl->GetPageLayout());
pMarkerNorthArrow=pMapSurround;
//ESRI North -- 字体文件 117 是改文件中指北针的Unicode编码
pSymbol=MakeNorthArrowSymbol(177,"ESRI North"); if(pSymbol) pMarkerNorthArrow->PutMarkerSymbol((IMarkerSymbolPtr)pSymbol); pPoint=NULL; pUID=NULL; pElementExtent=NULL;
step 2: IMapSurroundPtr CMapMakeLayoutHelper::CreateSurround(IUIDPtr pID,IEnvelopePtr pEnv,CString strName,IMapPtr pMap,IPageLayoutPtr pPagelayout) { IGraphicsContainerPtr pGraphicsContainer; IMapFramePtr pMapFrame; IElementPtr pElement; IElementPropertiesPtr pElementProperties; IActiveViewPtr pActiveView; ITrackCancelPtr PTrack; IMapSurroundFramePtr pMapSurroundFrame; pGraphicsContainer=pPagelayout; _variant_t vt(pMap, true); pMapFrame=pGraphicsContainer->FindFrame(vt); pMapSurroundFrame=pMapFrame->CreateSurroundFrame(pID,NULL); pMapSurroundFrame->GetMapSurround()->PutName(_bstr_t(strName)); pElement=pMapSurroundFrame; pElementProperties=pElement; pElementProperties->PutName(_bstr_t("North Arrow")); pActiveView=pPagelayout; pElement->PutGeometry(pEnv); pElement->Activate(pActiveView->GetScreenDisplay()); PTrack.CreateInstance(__uuidof(CancelTracker)); pElement->Draw(pActiveView->GetScreenDisplay(),PTrack); pGraphicsContainer->AddElement(pElement,0); pElement->PutGeometry(pEnv); return pMapSurroundFrame->GetMapSurround(); } Step 3: ISymbolPtr CMapMakeLayoutHelper::MakeNorthArrowSymbol(int intStyle,CString sSymName) { ICharacterMarkerSymbolPtr pCharSym; pCharSym.CreateInstance(__uuidof(CharacterMarkerSymbol)); IRgbColorPtr pRgbColor(__uuidof(RgbColor)); pRgbColor->PutRed(0); pRgbColor->PutGreen(0); pRgbColor->PutBlue(0); IFontPtr pFont(CLSID_StdFont); pFont->put_Name((_bstr_t)sSymName); pCharSym->PutColor(pRgbColor); pCharSym->PutSize(100); pCharSym->PutCharacterIndex(intStyle); pCharSym->PutFont(IFontDispPtr(pFont)); return pCharSym; }
- ArcGIS 生成指北针
- Arcgis pagelayout 实现添加图名,比例尺,指北针
- ArcGIS Engine自定义工具类,实现添加图名,比例尺,指北针
- AO+Java实现比例尺、指北针、图名、图例的添加(ArcGIS Add-in for Java)
- 指北针设置
- arcgis 生成 多边形缓冲区
- 磁场传感器(指北针)
- 指南针为什么不叫指北针
- startUpdatingHeading开发一个指北针
- ArcGIS如何生成格网
- ArcGIS Server 动态生成缓存
- ArcGIS Server 动态生成缓存
- 出图时加上指北针的代码
- ArcGIS Server 实时生成地图缓存
- ArcGIS Server 实时生成地图缓存
- ArcGIS Server 实时生成地图缓存
- Arcgis 由点生成方形缓冲区
- Arcgis 栅格图像生成KML文件
- Oracle导入excel数据方法汇总
- 使用 doxygen 生成文档
- Linux TCP/IP协议栈笔记(2)
- Linux TCP/IP协议栈笔记(3)
- Linux TCP/IP协议栈笔记(4)
- ArcGIS 生成指北针
- Linux安装命令介绍
- Linux TCP/IP协议栈笔记(5)
- run python scripts in an rxvt window
- 光
- 使用UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
- 调出Activex控件属性页
- GWT-Ext 体验之旅
- 采用JAX-WS Annotated Services from Java+JAXB发布获取web service