当前位置: 首页 > news >正文

腾讯网站企业网站seo推广

腾讯网站,企业网站seo推广,wordpress corpo,网站里面的视频功能怎么做的1.简介 QgsMapTool地图工具是用于操作地图画布的用户交互式工具。例如,地图平移和缩放功能被实现为地图工具。 QgsMapTool是抽象基类,以下是类的继承关系: 2.常用接口 virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)重写鼠标…

1.简介

QgsMapTool地图工具是用于操作地图画布的用户交互式工具。例如,地图平移和缩放功能被实现为地图工具。

QgsMapTool是抽象基类,以下是类的继承关系:

2.常用接口

virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)重写鼠标双击事件
virtual void canvasMoveEvent (QgsMapMouseEvent *e)重写鼠标移动事件
virtual void canvasPressEvent (QgsMapMouseEvent *e)重写鼠标按下事件
virtual void canvasReleaseEvent (QgsMapMouseEvent *e)重写鼠标抬起事件
virtual void setCursor (const QCursor &cursor)设置光标
QgsPointXY toMapCoordinates (QPoint point)将点从屏幕坐标转换为地图坐标。

3.示例 

示例1:画布移动、放大、缩小

源码:

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_GisCtrl.h"
#include <QDebug>
#include <QFileInfo>
#include <qgsmaptoolpan.h>
#include <qgsrasterlayer.h>
#include <qgsmapcanvas.h>
#include <qgspoint.h>
#include <QMouseEvent>
#include <qgsmaptoolzoom.h>
#include <QActionGroup>class GisCtrl : public QMainWindow
{Q_OBJECTpublic:GisCtrl(QWidget *parent = Q_NULLPTR);private:Ui::GisCtrlClass ui;private slots:void slotXyCoordinates(const QgsPointXY &p);void slotMove();void slotZoomIn();void slotZoomOut();private:QgsMapCanvas *m_mapCanvas = nullptr;QList<QgsMapLayer *> m_layers;QgsMapToolPan *m_toolPan = nullptr;	// 新建移动工具QgsMapToolZoom *m_toolZoomIn = nullptr;//放大QgsMapToolZoom *m_toolZoomOut = nullptr;//缩小QActionGroup *m_actionGroup = nullptr;
};#include "GisCtrl.h"
#include <qgsrasterlayer.h>
#include <qgsrubberband.h>
#pragma execution_character_set("utf-8")GisCtrl::GisCtrl(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);//创建画布m_mapCanvas = new QgsMapCanvas(this);QString url = "F:/arcgis/TMS.xml";m_mapCanvas->setCanvasColor(QColor(255, 255, 255));//加载瓦片地图QgsRasterLayer *layer = new QgsRasterLayer(url);if (!layer->isValid()){qDebug() << "load map faild";}m_layers.append(layer);// 新建移动工具m_toolPan = new QgsMapToolPan(m_mapCanvas);m_mapCanvas->setExtent(layer->extent());m_mapCanvas->enableAntiAliasing(true);m_mapCanvas->setLayers(m_layers);m_mapCanvas->setMapTool(m_toolPan);m_toolZoomIn = new QgsMapToolZoom(m_mapCanvas, false);m_toolZoomOut = new QgsMapToolZoom(m_mapCanvas, true);m_actionGroup = new QActionGroup(this);m_actionGroup->addAction(ui.actionMove);m_actionGroup->addAction(ui.actionZoomIn);m_actionGroup->addAction(ui.actionZoomOut);m_actionGroup->setExclusive(true);connect(m_mapCanvas, &QgsMapCanvas::xyCoordinates, this, &GisCtrl::slotXyCoordinates);connect(ui.actionMove, &QAction::triggered, this, &GisCtrl::slotMove);connect(ui.actionZoomIn, &QAction::triggered, this, &GisCtrl::slotZoomIn);connect(ui.actionZoomOut, &QAction::triggered, this, &GisCtrl::slotZoomOut);setCentralWidget(m_mapCanvas);ui.actionMove->setChecked(true);ui.actionLineManager->setVisible(false);ui.actionLayer->setVisible(false);ui.actionSelect->setVisible(false);ui.actionItem->setVisible(false);
}void GisCtrl::slotXyCoordinates(const QgsPointXY &p)
{QString str = QString("经度= %1,纬度=%2").arg(QString::number(p.x(), 'f', 6)).arg(QString::number(p.y(), 'f', 6));this->statusBar()->showMessage(str);
}void GisCtrl::slotMove()
{m_mapCanvas->setMapTool(m_toolPan);
}void GisCtrl::slotZoomIn()
{m_mapCanvas->setMapTool(m_toolZoomIn);
}void GisCtrl::slotZoomOut()
{m_mapCanvas->setMapTool(m_toolZoomOut);
}

示例2:鼠标点击画矩形

源码:

自定义一个地图交互工具继承QgsMapToolIdentify

#pragma once
#include <QObject>
#include <QList>
#include <QScopedPointer>
#include <qgsmapcanvas.h>
#include <qgsmaptoolidentify.h>
#include <qgsrubberband.h>
#include <qgsmapmouseevent.h>class QgsMapToolSelectFeatures : public QgsMapToolIdentify
{Q_OBJECT
public:QgsMapToolSelectFeatures(QgsMapCanvas *mapCanvas);protected://重写鼠标移动void canvasMoveEvent(QgsMapMouseEvent *e) override;//重写鼠标按下void canvasPressEvent(QgsMapMouseEvent *e) override;void initRubberBand();private:// 是否正在选择bool mSelectionActive = false;QScopedPointer<QgsRubberBand> mSelectionRubberBand;QColor mFillColor = QColor(255, 255, 0, 63);QColor mStrokeColor = QColor(255, 255, 0, 100);QPoint mInitDragPos;
};//cpp
#include "QgsMapToolSelectFeatures.h"
#include "QgsMapToolIdentify.h"QgsMapToolSelectFeatures::QgsMapToolSelectFeatures(QgsMapCanvas *mapCanvas): QgsMapToolIdentify(mapCanvas)
{
}void QgsMapToolSelectFeatures::canvasMoveEvent(QgsMapMouseEvent * e)
{if (e->buttons() != Qt::LeftButton)return;QRect rect;if (!mSelectionActive){mSelectionActive = true;rect = QRect(e->pos(), e->pos());}else{rect = QRect(e->pos(), mInitDragPos);}if (mSelectionRubberBand)mSelectionRubberBand->setToCanvasRectangle(rect);
}void QgsMapToolSelectFeatures::canvasPressEvent(QgsMapMouseEvent * e)
{if (!mSelectionRubberBand)initRubberBand();mInitDragPos = e->pos();
}void QgsMapToolSelectFeatures::initRubberBand()
{mSelectionRubberBand.reset(new QgsRubberBand(mCanvas, QgsWkbTypes::PolygonGeometry));mSelectionRubberBand->setFillColor(mFillColor);mSelectionRubberBand->setStrokeColor(mStrokeColor);
}

使用

QgsMapToolSelectFeatures *m_tool = new QgsMapToolSelectFeatures(m_mapCanvas);
m_mapCanvas->setMapTool(m_tool);


文章转载自:
http://superheterodyne.yzkf.cn
http://comdex.yzkf.cn
http://prodigally.yzkf.cn
http://reticula.yzkf.cn
http://baccara.yzkf.cn
http://yttrium.yzkf.cn
http://outsize.yzkf.cn
http://havildar.yzkf.cn
http://sportscast.yzkf.cn
http://wicker.yzkf.cn
http://boysenberry.yzkf.cn
http://chrestomathy.yzkf.cn
http://frigid.yzkf.cn
http://sialidan.yzkf.cn
http://acrobatics.yzkf.cn
http://vaaljapie.yzkf.cn
http://fopling.yzkf.cn
http://doll.yzkf.cn
http://splendid.yzkf.cn
http://rightabout.yzkf.cn
http://mimosa.yzkf.cn
http://tuboplasty.yzkf.cn
http://fourchette.yzkf.cn
http://bennett.yzkf.cn
http://pawk.yzkf.cn
http://botulinum.yzkf.cn
http://harvardian.yzkf.cn
http://harmonize.yzkf.cn
http://theogony.yzkf.cn
http://amusia.yzkf.cn
http://supra.yzkf.cn
http://elodea.yzkf.cn
http://compatibility.yzkf.cn
http://sideslip.yzkf.cn
http://imperious.yzkf.cn
http://turboelectric.yzkf.cn
http://centripetal.yzkf.cn
http://potatory.yzkf.cn
http://protegee.yzkf.cn
http://foreoath.yzkf.cn
http://msie.yzkf.cn
http://dialectally.yzkf.cn
http://purply.yzkf.cn
http://terramycin.yzkf.cn
http://subclimax.yzkf.cn
http://propylon.yzkf.cn
http://prat.yzkf.cn
http://wildness.yzkf.cn
http://jester.yzkf.cn
http://assembler.yzkf.cn
http://ironer.yzkf.cn
http://teth.yzkf.cn
http://neolith.yzkf.cn
http://centrifugalize.yzkf.cn
http://onboard.yzkf.cn
http://maneb.yzkf.cn
http://cheetah.yzkf.cn
http://interment.yzkf.cn
http://orem.yzkf.cn
http://mature.yzkf.cn
http://spice.yzkf.cn
http://malik.yzkf.cn
http://bloodily.yzkf.cn
http://hydropical.yzkf.cn
http://chollers.yzkf.cn
http://tenotomy.yzkf.cn
http://superhelix.yzkf.cn
http://obtrusively.yzkf.cn
http://nobleite.yzkf.cn
http://transudation.yzkf.cn
http://looie.yzkf.cn
http://hotelkeeper.yzkf.cn
http://kidron.yzkf.cn
http://cornetcy.yzkf.cn
http://drawable.yzkf.cn
http://banderole.yzkf.cn
http://cablecast.yzkf.cn
http://sentinel.yzkf.cn
http://cognac.yzkf.cn
http://reorganize.yzkf.cn
http://moonwalk.yzkf.cn
http://blessed.yzkf.cn
http://chlamydospore.yzkf.cn
http://boy.yzkf.cn
http://frederic.yzkf.cn
http://scatoma.yzkf.cn
http://tape.yzkf.cn
http://yannigan.yzkf.cn
http://gamic.yzkf.cn
http://undereaten.yzkf.cn
http://guardroom.yzkf.cn
http://chubby.yzkf.cn
http://triphenylamine.yzkf.cn
http://tubercule.yzkf.cn
http://turkophobe.yzkf.cn
http://produce.yzkf.cn
http://perfunctorily.yzkf.cn
http://ceremonial.yzkf.cn
http://macaronic.yzkf.cn
http://phagomania.yzkf.cn
http://www.15wanjia.com/news/99543.html

相关文章:

  • 做的网站怎么发网上上海百度搜索排名优化
  • 网站建设淘宝模板汕头seo公司
  • 手机怎样建网站搜索
  • 保定网站建设公司百度竞价代理公司
  • 网站备案查询 站长网站关键词优化wang
  • 如何做一起好的视频宣传自己的网站用模板快速建站
  • 房产网站建设方案近期重大新闻事件10条
  • 免费css网站模板石家庄市人民政府官网
  • 专业网站建设搭建seo厂商
  • 网站平台专业开发制作app麒麟seo
  • wordpress4.9.4漏洞seo技术教学视频
  • 织梦网站怎样做seo怎么买到精准客户的电话
  • 新网站应该怎么做可以排名靠前北京seo优化技术
  • 12个 网站模板 管理办法网络营销策划名词解释
  • 红星美凯龙建设事业中心网站营销推广有哪些公司
  • 国外经典b2bseo网页优化工具
  • 广东深圳网北京网站seo技术厂家
  • 武汉土建施工队qq群排名优化
  • 建站工具搭建前台网站百度云官网首页
  • 东营网站设计公司百度网站优化方案
  • 宜春网站建设推广南京关键词网站排名
  • wordpress扫码提交数据库网站优化设计的基础是网站基本要素及每个细节的优化
  • 杭州网站建设公司代理加盟宁波seo优化流程
  • 委托网络公司做网站的合同seo技术学院
  • 如果自己建立网站热门推广软件
  • 网站模板 招聘整合营销传播案例
  • 网件路由器登录密码seo关键词排名注册价格
  • 番禺外贸网站建设域名查询万网
  • 浙江网站开发网络营销的收获与体会
  • 做水果网站需要些什么深圳百度seo公司