qt环境下Mapx组建的编程---------regoin
Posted first_semon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt环境下Mapx组建的编程---------regoin相关的知识,希望对你有一定的参考价值。
#include "widget.h" #include "ui_widget.h" #include <QPushButton> #include <QToolBar> Widget::Widget(QWidget *parent) : QWidget(parent), map(nullptr), pCMapXPoint(nullptr),pCMapXPoint1(nullptr),pCMapXPoint2(nullptr), pCMapFeaFactory(nullptr), pCMapXFeature(nullptr), pCMapStyle(nullptr), pCMapLayers(nullptr), pCMapLayer(nullptr), pCMapLine(nullptr), pCMapPoints(nullptr), pCMapParts(nullptr), pCMapArc(nullptr), pCMapXFeatureRegoin(nullptr), //坐标的变化 pCMapXCoordSys(nullptr), ui(new Ui::Widget) { ui->setupUi(this); this->resize(1000,800); QPushButton *pButton = new QPushButton("tool",this); pButton->resize(70,23); //建立一个地图 map = new MapSpace::Map("",this); //设置大小属性 map->move(QPoint(10,25)); map->resize(QSize(size().width()-20,size().height()-20)); map->SetCurrentTool(MapSpace::ToolConstants::miPanTool);//鼠标工具 map->setProperty("MousewheelSupport",2);//支持滚轮 /* 显示一个小图标(旗子模样)*/ pCMapLayers = map->Layers(); pCMapLayers->AddGeoSetLayers("C:/mapx/MapX4/Maps/Captial.gst"); pCMapLayer = pCMapLayers->CreateLayer("test"); pCMapFeaFactory = map->FeatureFactory(); //划一个区域。regoin pCMapXFeatureRegoin = pCMapFeaFactory->CreateRegion();//创建一个区域feature pCMapPoints = new MapSpace::CMapXPoints; pCMapPoints->setControl("MapX.Points.4"); pCMapParts = pCMapXFeatureRegoin->Parts(); pCMapXPoint = pCMapPoints->AddXY(120.07372, 29.35792); pCMapXPoint1 = pCMapPoints->AddXY(120.07270, 29.35780); pCMapXPoint2 = pCMapPoints->AddXY(120.07000, 29.35000); pCMapStyle = pCMapXFeatureRegoin->Style(); //pCMapStyle->setControl("Mapx.Style.4"); //pCMapStyle->SetRegionBackColor(200); //pCMapStyle->SetLineColor(117); pCMapStyle->SetRegionBorderWidthUnit(MapSpace::StyleUnitConstants::miStyleUnitTenthsOfPoint); pCMapStyle->SetRegionBorderWidth(35);//边界线条宽度,与上方函数一起使用 pCMapStyle->SetRegionBorderColor(243);//边界颜色 pCMapStyle->SetRegionColor(123);//背景颜色 // pCMapStyle->SetRegionStyle(MapSpace::miPenSolid); pCMapStyle->SetRegionPattern(MapSpace::miPatternCross); //pCMapStyle->SetRegionTransparent(true);//用于至少两个图元之间 pCMapParts->Add(pCMapPoints->asVariant().value<IDispatch*>()); pCMapLayer->AddFeature(pCMapXFeatureRegoin->asVariant().value<IDispatch*>()); map->ZoomTo(200,120.06272, 29.35522); }
以上是关于qt环境下Mapx组建的编程---------regoin的主要内容,如果未能解决你的问题,请参考以下文章