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

一级页面的网站怎么做企拓客app骗局

一级页面的网站怎么做,企拓客app骗局,wordpress 禁用修订,自己专业做网站前文链接:QGraphicsView实现简易地图1『加载离线瓦片地图』 地图采用GCJ02 Web 墨卡托投影,最小坐标:(-180.00000000000000,-85.05112877980655),最大坐标:(180.00000000000000,85.05112877980655)。瓦片地图单张图片像…

前文链接:QGraphicsView实现简易地图1『加载离线瓦片地图』
地图采用GCJ02 Web 墨卡托投影,最小坐标:(-180.00000000000000,-85.05112877980655),最大坐标:(180.00000000000000,85.05112877980655)。瓦片地图单张图片像素大小为256*256,经度均分256像素,但纬度分布不均匀,需要公式计算。
1、动态演示效果
在这里插入图片描述

2、静态展示图片
在这里插入图片描述

核心代码
1、数据定义GeoData.h

#pragma once
#include <QMetaType>/** 地理几何数据* 瓦片地图坐标投影:GCJ02 Web 墨卡托投影*/#define PIXMAP_SIZE 256// 瓦片坐标
struct TileCoord
{TileCoord(double _x, double _y) : x(_x), y(_y) {}double x;double y;
};// 经纬度坐标
struct GeoCoord
{GeoCoord() = default;GeoCoord(double _lon, double _lat) : lon(_lon), lat(_lat) {}double lon;  // 经度double lat;  // 纬度
};
Q_DECLARE_METATYPE(GeoCoord)

2、MapUtility类

#pragma once
#include <QPointF>
#include "DataStruct/GeoData.h"class MapUtility
{
public:// 场景坐标转经纬度static GeoCoord geoCoordFromScene(QPointF scenePos, int level);private:// 场景坐标转瓦片坐标(瓦片坐标系)static TileCoord tileCoordFromScene(QPointF scenePos, int level);// 场景坐标转所在瓦片像素点坐标static QPointF tilePixelCoordFromScene(QPointF scenePos, int level);
};
#include "MapUtility.h"
#include "TileUtility.h"GeoCoord MapUtility::geoCoordFromScene(QPointF scenePos, int level)
{TileCoord tileCoord = tileCoordFromScene(scenePos, level);QPointF tilePixelCoord = tilePixelCoordFromScene(scenePos, level);return TileUtility::pixelToLonLat(tilePixelCoord.x(), tilePixelCoord.y(), tileCoord.x, tileCoord.y, level);
}TileCoord MapUtility::tileCoordFromScene(QPointF scenePos, int level)
{int tileX = std::floor(scenePos.x() / PIXMAP_SIZE);int tileY = std::floor(scenePos.y() / PIXMAP_SIZE);return TileCoord(tileX, tileY);
}QPointF MapUtility::tilePixelCoordFromScene(QPointF scenePos, int level)
{TileCoord tileCoord = tileCoordFromScene(scenePos, level);double left = tileCoord.x * PIXMAP_SIZE;	// scenePos所在瓦片的左侧位于场景中的坐标double top = tileCoord.y * PIXMAP_SIZE;		// scenePos所在瓦片的上侧位于场景中的坐标return QPointF(scenePos.x() - left, scenePos.y() - top);
}

3、TileUtility类

class TileUtility
{friend class MapUtility;private:/*** 将地图层级下瓦片的像素点转换到经纬度* 瓦片地图左上角为(0, 0)点* @param pixelX   瓦片像素点X* @param pixelY   瓦片像素点Y* @param tileX    瓦片坐标X* @param tileY    瓦片坐标Y* @param level    瓦片层级* @return         经纬度坐标*/static GeoCoord pixelToLonLat(double pixelX, double pixelY, int tileX, int tileY, int level);static double pixelXToLon(double pixelX, double tileX, int level);static double pixelXToLat(double pixelY, double tileY, int level);static double mathSinH(double value);/*** 获取地图层级下X/Y轴上的瓦片数量* @param level    瓦片层级* @return 		  瓦片数量*/static int mapSize(int level);
};
GeoCoord TileUtility::pixelToLonLat(double pixelX, double pixelY, int tileX, int tileY, int level)
{double lon = pixelXToLon(pixelX, tileX, level);double lat = pixelXToLat(pixelY, tileY, level);return GeoCoord(lon, lat);
}double TileUtility::pixelXToLon(double pixelX, double tileX, int level)
{const double pixelXToTileAddition = pixelX / PIXMAP_SIZE;const double lon = (tileX + pixelXToTileAddition) / mapSize(level) * 360 - 180;return lon;
}double TileUtility::pixelXToLat(double pixelY, double tileY, int level)
{const double pixelYToTileAddition = pixelY / PIXMAP_SIZE;const double lat = qAtan(mathSinH(M_PI * (1 - 2 * (tileY + pixelYToTileAddition) / mapSize(level)))) * 180.0 / M_PI;return lat;
}double TileUtility::mathSinH(double value)
{return (qExp(value) - qExp(-value)) / 2;
}int TileUtility::mapSize(int level)
{return pow(2, level);
}

4、场景鼠标移动事件

void MapScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
{m_coordPos = MapUtility::geoCoordFromScene(mouseEvent->scenePos(), m_curLevel);emit geoCoordChanged(m_coordPos);
}
http://www.fp688.cn/news/1204.html

相关文章:

  • 如何做外贸网站推广seo网络推广是干嘛的
  • wordpress没权限关键词优化是什么意思
  • 精彩网站制作浏览器下载
  • 大连企业建站程序品牌策划是做什么的
  • 网站建设免费软件百度搜索关键词统计
  • 学做网站能赚多少上海知名的seo推广咨询
  • 邵阳市住房和城乡建设局网站百度 营销怎么收费
  • 网站建设合同标准版福州短视频seo机会
  • 高端网站定做如何自己做网页
  • wordpress远程提升seo排名平台
  • 做的网站访问不了免费浏览网站推广
  • 连云港网站建设 连云港网站制作查网站
  • 做一个京东网站怎么做的百度发作品入口在哪里
  • 购物帮 做特惠的导购网站优化培训学校
  • 扬州鼎盛开发建设有限公司网站抖音关键词排名软件
  • 温州哪里有网站建设seo专员是什么
  • 郴州建设网站制作seo 优化 工具
  • 政务公开和网站建设情况百度推广代理怎么加盟
  • 网站搜索排名站长工具在线免费
  • 泰安定制网站建设公司最近一周国内热点新闻
  • 深圳网站建设_企业网站设计定制百度手机app下载安装
  • 厦门网站建设哪家强网络营销的核心是
  • html5动态效果的网站是怎么做的百度手机浏览器下载
  • 网站你懂我意思正能量晚上在线观看不用下载免费苹果seo推广多少钱
  • wordpress获取当前目录父目录idseo外链推广工具
  • 做营利网站的风险长春百度推广排名优化
  • 乡镇网站建设中的问题网站备案
  • 深圳门户网站建设案例网址提交百度收录
  • 范县网站建设百度推广怎么运营
  • 知名网站建设商家今日十大热点新闻事件