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(,); QPushButton *pButton = new QPushButton("tool",this);
pButton->resize(,); //建立一个地图
map = new MapSpace::Map("",this);
//设置大小属性
map->move(QPoint(,));
map->resize(QSize(size().width()-,size().height()-)); map->SetCurrentTool(MapSpace::ToolConstants::miPanTool);//鼠标工具
map->setProperty("MousewheelSupport",);//支持滚轮
/* 显示一个小图标(旗子模样)*/
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();//边界线条宽度,与上方函数一起使用
pCMapStyle->SetRegionBorderColor();//边界颜色
pCMapStyle->SetRegionColor();//背景颜色
// 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(,120.06272, 29.35522);
}
在加上圆形的图元
 void MainWindow::CMapxInit(){
widget = new QAxWidget(this);
widget->setControl(QString::fromUtf8("{9D6ED188-5910-11D2-98A6-00A0C9742CCA}"));
widget->resize(size().width(),size().height()); pCMapX = new CMapX(widget->asVariant().value<IDispatch*>());
pCMapXLayer = pCMapX->Layers()->CreateLayer("aaa"); pCMapXFeatureFactory = pCMapX->FeatureFactory();
pCMapXFeaturePoint = pCMapXFeatureFactory->CreateSymbol(); pCMapXPoint = pCMapXFeaturePoint->Point();
pCMapXPoint->Set(120.06872,29.35692);
//算出外接矩形的两个角坐标,一个在X轴上,一个在Y轴上 pCMapXFeatureCircularRegion = pCMapXFeatureFactory->CreateCircularRegion(miCircleTypeMap,pCMapXPoint->asVariant().value<IDispatch*>(),,,);
pStyle = pCMapXFeatureCircularRegion->Style();
pStyle->SetRegionColor(QColor(,,)); pCMapXLayer->AddFeature(pCMapXFeatureCircularRegion->asVariant().value<IDispatch*>()); pCMapX->ZoomTo(,120.06872,29.35692);
}

 
上一篇:SpringMVC学习笔记:SpringMVC框架的执行流程


下一篇:HDU 1754 线段树入门解题报告