#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);
}

 

qt环境下Mapx组建的编程---------regoin的更多相关文章

  1. Qt 环境下MAPX组件的编程

    使用mapx打包文件可以方便的迅速开发,今天介绍一种不使用打包文件,直接使用mapx组件的编程方法. 就像之前介绍flash控件编程的方法,首先建立一个qt demo.基于那个的窗口都可以. 本den ...

  2. qt 环境下mapx组件的鼠标跟踪

    经过两天的研究mapx组件人坐标转换还是没有转换成功,因为不管怎么变,定点转换的经纬度坐标始终与期望的值有较大的偏差.最后还是想老大请教了一下,划了半天功夫就研究出来了(不愧是老大,仰慕之情犹如滔滔江 ...

  3. qt 环境下mapx组件打包后编译产生c2248和c2512错误

    C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...

  4. Qt 环境下的mapx控件-------2

    今天花了一天的时间去查找mapx相关的资料,但是到最后想要的东西还是一无所获,不过还是学到了很多东西.下面以大家分享一下: mapx软件的安装:下载后安装mapx软件,成功后会在安装路径下存在acti ...

  5. Qt 环境下的activex控件编程-------1

    本人第一次接触这种activeX控件的东西,参考了网上很多的教程,终于耗时三个多小时初步理解并编写了一个小demo,现在分享给大家,希望大家少走弯路.步骤如下: 1>像平常创建项目一样创建一个d ...

  6. QT环境下实现UI界面的“拼图游戏”

    main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, char *ar ...

  7. .NET环境下的DPAPI加密编程

    Windows的本地加密保护机制提供了简单的调用接口,密钥的生成.保护等事项一概由系统来处理,其编程接口称为DPAPI.这一加密保护机制的边界是用户登录帐户或者本地计算机系统,使用操作系统设定的加密处 ...

  8. QT 环境下开发socketCan接口程序

    使用头文件 #include <QMainWindow>#include "QTimer"#include "QTime"#include &quo ...

  9. qt 工具下的dump工具导出文档出现异常解决方案

    今天一直认为qt环境下的dumpcpp 和dumpdoc两个导出工具很好用,可以今天在导出MSChart组件的类方法文档时,虽然导出成功了,但是导出的结果却是令人失望.自己也不知道如何能够正确导出,就 ...

随机推荐

  1. 只需三步 快速完善网站Sitemap

    越来越多的SEOer把优化的重点放在了站内优化上,细心的朋友应该查看一些前辈的robots.txt的时候不难发现,他们的robots中都加 入了一句Sitemap: http://www.dewang ...

  2. String、StringBuffer和StringBuilder的深入解析

    今天闲来无事,整理了下平时记录在印象笔记里的java开发知识点,整理到String,StringBuffer以及StringBuilder的区别时突然又产生了新的疑惑,这些区别是怎么产生的?温故为何能 ...

  3. linux计划任务

    一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...

  4. 2016HUAS_ACM暑假集训3G - 还是畅通工程

    最小生成树,题目简单.套的Prim模板,其他的题目比较有意义. Sample Input 3                             //村庄个数1 2 1               ...

  5. Mysql(一)

    一.Mysql简介 Mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下.特点:其体积小.速度快.开源. 分为社区办和商业版,其社区版性能卓越. 二.Ubun ...

  6. Android学习十二:自定义控件学习

    自定义控件: 1.定义控件的属性,atts.xml 2.代码实现自定义控件的控制 3.引用该控件 首先定义相关的属性 <?xml version="1.0" encoding ...

  7. HA简介以及HBase简介

    HBase基础知识: 一,HMater节点:可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行 1,为Region server 分配r ...

  8. SSR三网免流一键包以及使用教程

    这篇文章只是传统的SSR免流教程 首先拿到一台vps,可以是centos,可以是debian,也可以是ubuntu 使用xshell连接vps 执行一键安装包 wget http://104.224. ...

  9. 浅入浅出EmguCv(一)OpenCv与EmguCv

    最近接触计算机视觉方面的东西,于是准备下手学习opencv,从官网下载windows的安装版,配置环境,一系列步骤走完后,准备按照惯例弄个HelloWord.也就是按照网上的教程,打开了那个图像处理领 ...

  10. Ninject使用介绍

    #region 第二种写法 /// <summary> /// using(IKernel tKernel=new StandardKernel(new PeoKernelServer() ...