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

微信 网站界面 模板网站怎样查是哪家做的

微信 网站界面 模板,网站怎样查是哪家做的,高职高专 网站建设与维护,网站建设哪里有学前文链接:QGraphicsView实现简易地图2『瓦片经纬度』 第一篇文章提到过,当地图层级较大时,暴力全加载地图会造成程序卡顿,因此需要实现地图的局部加载。 实现思路:以地图窗口(以下称为视口)为地…

前文链接:QGraphicsView实现简易地图2『瓦片经纬度』
第一篇文章提到过,当地图层级较大时,暴力全加载地图会造成程序卡顿,因此需要实现地图的局部加载。
实现思路:以地图窗口(以下称为视口)为地图展示区域,最理想情况是行列组成的瓦片地图正好与视口大小一致。然而,大多数情况下都需要行列组成的瓦片地图比视口大才能完整覆盖视口,因此需要合理计算瓦片地图的行数和列数,以最小行数和最小列数覆盖整个视口为最佳,以下将提供实现此需求的核心代码。
1、动态演示效果
在这里插入图片描述
2、静态展示图片
在这里插入图片描述

核心代码

void MapView::scaleScene()
{// 经纬度坐标转场景坐标、视图定位到鼠标中心QPointF scenePos = MapUtility::sceneCoordFromGeoCoord(m_wheelGeoCoord, m_curLevel);horizontalScrollBar()->setValue(scenePos.x() - m_offsetPos.x());verticalScrollBar()->setValue(scenePos.y() - m_offsetPos.y());// 视口宽度和高度int w = viewport()->width();int h = viewport()->height();// 瓦片像素点坐标、视口坐标QPointF pixelPos = MapUtility::tilePixelCoordFromScene(scenePos, m_curLevel);QPoint viewportPos = mapFromScene(scenePos);// 鼠标所在瓦片的四边 与 视口四边的距离int lPixel = viewportPos.x() - pixelPos.x();int rPixel = w - (viewportPos.x() + PIXMAP_SIZE - pixelPos.x());int tPixel = viewportPos.y() - pixelPos.y();int bPixel = h - (viewportPos.y() + PIXMAP_SIZE - pixelPos.y());// 计算鼠标所在瓦片的四边应该填充的完整图片数量、是否存在剩余像素int leftPixmapCount = lPixel / PIXMAP_SIZE;bool remainLeftPixel = lPixel % PIXMAP_SIZE;int rightPixmapCount = rPixel / PIXMAP_SIZE;bool remainRightPixel = rPixel % PIXMAP_SIZE;int topPixmapCount = tPixel / PIXMAP_SIZE;bool remainTopPixel = tPixel % PIXMAP_SIZE;int bottomPixmapCount = bPixel / PIXMAP_SIZE;bool remainBottomPixel = bPixel % PIXMAP_SIZE;// 计算呈现的瓦片地图左上角的瓦片坐标m_curTileCoord = MapUtility::tileCoordFromGeoCoord(m_wheelGeoCoord, m_curLevel);m_topLeftTileCoord.x = m_curTileCoord.x - leftPixmapCount;m_topLeftTileCoord.y = m_curTileCoord.y - topPixmapCount;if (remainLeftPixel && m_topLeftTileCoord.x > 0)m_topLeftTileCoord.x -= 1;if (remainTopPixel && m_topLeftTileCoord.y > 0)m_topLeftTileCoord.y -= 1;// 计算呈现的瓦片地图右下角的瓦片坐标m_bottomRightTileCoord.x = m_curTileCoord.x + rightPixmapCount;m_bottomRightTileCoord.y = m_curTileCoord.y + bottomPixmapCount;if (remainRightPixel && m_bottomRightTileCoord.x < pow(2, m_curLevel) - 1)m_bottomRightTileCoord.x += 1;if (remainBottomPixel && m_bottomRightTileCoord.y < pow(2, m_curLevel) - 1)m_bottomRightTileCoord.y += 1;// 加载瓦片QString dirPath = QString("F:/MapData/GaoDeMap/Map/MapPng/L0%1").arg(m_curLevel + 1);for (int row = m_topLeftTileCoord.y; row <= m_bottomRightTileCoord.y; ++row){for (int col = m_topLeftTileCoord.x; col <= m_bottomRightTileCoord.x; ++col){QString fileName = QString("%1/Map_%2-%3.png").arg(dirPath).arg(QString::number(row + 1).rightJustified(2, '0')).arg(QString::number(col + 1).rightJustified(2, '0'));QPixmap pixmap(fileName);QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap);item->setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene->addItem(item);m_mapItems[row][col] = item;}}
}
http://www.yayakq.cn/news/55764/

相关文章:

  • 猪八戒网网站建设昆山建设招标信息网站
  • 做服装外单的网站有哪些内容wordpress悬停图
  • 免费的自学网站大全wordpress安装到的数据库名称
  • 网站流量分析表湖北鼎天宏图建设工程有限公司网站
  • 花都区网站建设怎么用dw做带登陆的网站
  • 英国T4学生签证 可以做网站吗湖北网络推广公司
  • 做网站网站需要网站建设推广入什么费用
  • 自己怎么做网站模块正规的装饰行业网站建设公司
  • 个人网站建设视频教学怎么创建个人网站
  • 网站无内容 备案微博推广方案
  • 广州有哪些做网站专业的公司杭州网站排名外包
  • 网站为何不显示百度商桥对话框wordpress副标题调用
  • 江苏省网站建设与管理历年自考试题东莞网站建设的收费
  • 网站图片设置4:3网站解析ip地址
  • 做相册本哪个网站好用北京手机网站设计报价
  • 定制网站开发平台wordpress导入插件
  • 做网站大流量建设合同施工合同示范文本
  • 找个公司做网站需要注意什么条件爱范儿 wordpress 主题
  • 烟台网站制作工具网页制作模板兼职
  • iis发布网站乱码网站建设 有限公司
  • 什么二手车网站做最好襄阳网站建设开发
  • 中山建设企业网站郑州企业网站优化哪家便宜
  • 中国建设银行安徽分行网站中国建设银行官方网站登录
  • 大学生对校园网站建设的需求是什么哪里有做网站优化的公司
  • 天津手动网站建设调试快递公司网站模板
  • 上海网站 备案网站设计说明书整合
  • 阿里云网站建设方案书模板重庆好的网站建设公司
  • 做电影网站失败了北京建网站公司推荐
  • 鄂州手机网站设计群晖 nas 做网站
  • 怎么做自己的发卡网站6如何通过cpa网站做推广