码迷,mamicode.com
首页 > 其他好文 > 详细

qt环境下Mapx组建的编程---------regoin

时间:2016-09-21 21:26:55      阅读:451      评论:0      收藏:0      [点我收藏+]

标签:

#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

标签:

原文地址:http://www.cnblogs.com/first-semon/p/5894039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!