首页 > 代码库 > qt环境下Mapx组建的编程---------regoin

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