#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. js中substr,substring,indexOf,lastIndexOf,split 的用法

    1.substr substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert ...

  2. JavaScript 介绍

          JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 ...

  3. Linux中MySQL的基本操作

    1. 用root用户登录mysql mysql -u root -p 2. 查看database show databases; 3. 查看table use database名 show table ...

  4. Node.JS 学习路线图

    转载自:http://www.admin10000.com/document/4624.html 从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架w ...

  5. 6、Samba 服务器配置

    1.安装samba服务 [root@rhel6_80 samba]# yum -y install samba #安装samba [root@rhel6_80 samba]# rpm -qa |gre ...

  6. CentOS 6主机上的RStudio Server安装步骤

    1. 安装EPEL库 yum -y install epel-release 2. 安装R yum install R 3. 安装OpenSSL yum install openssl098e 4. ...

  7. knockout+bootstrap--一些复杂的应用合集

    一.针对My97日历控件的绑定 普通绑定和特殊格式绑定(红色部分) <!-- ko foreach: items --> <td class="ruyeeTableTDLa ...

  8. 山东省选 郁闷的小J

    小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危险,这也正是他所郁闷的. 具体说来,书架由 ...

  9. FLASH结构

    mergedir/code.tmp.bin 压缩未加密文件的FLASH文件 mergedir/sfs/nvm.bin   shareData数据文件,未加密.未压缩 数据克隆:DATA/ALL APP ...

  10. Swift 简介

    1.swift支持所有C和Obeject-c的基本类型,支持面向过程和面向对象的编程机制. 2.swift提供了2种功能强劲的集合类型:数组和字典 3.元祖 4.可选类型 5.swift 是一种类型安 ...