首页 > 编程知识 正文

qt地图实例(qt地图比例尺)

时间:2023-05-05 00:08:19 阅读:99386 作者:2830

其实00-1010上的线下地图下载器有很多种,大部分都是收费的。免费要么是限制下载的贴片数量或级别,要么是下载的贴片有水印,看起来很难看。因为经常需要离线地图来摆脱这种限制,所以我特意花了一些时间重新研究了平铺地图的原理,做了一个离线地图下载器。其实瓦片地图的下载并没有那么复杂。实际上,要请求的切片图的地址是从几个开放的服务器地址设置的。发送请求后,图片会自动返回给您。你只需要获取图片数据并保存为图片即可。

地图下载过程的步骤如下:

1.获取可见区域或行政区域的范围。

2.获取区域左下角和右上角的经纬度坐标。

3.根据级别号计算相应级别的平铺号。

4.自动生成下载图块地图的地址并发出请求。

5.分析接收到的数据,并将其保存为图片。

6.更新相应界面的下载数量和进度。

7.可以选择相应的保存目录,选择所有级别,中途停止下载等。

8.你可以选择下载街道地图还是卫星地图。

00-1010 1.无需接口卡,多线程同时下载多级切片地图。

2.内置多个离线地图下载请求地址,并自动随机选择一个发送请求。

3.下载地图类型支持街道地图和卫星地图。

4.自动计算可见区域或管理区域中下载的切片数量。

5.下载级别可以在范围和选择方面进行定制。

6.每个图块在下载时都会发出信号,参数包括下载时间。

7.您可以设置下载的最大超时时间。如果超过,您将放弃它并跳到下一个下载任务。

8.实时显示下载进度,以及当前级别已下载的切片数和总切片数。

9.下载过程中可以停止下载,下载后自动统计总时间。

10.内置经纬度与屏幕坐标的转换功能。

11.目前支持百度地图,谷歌地图、腾讯地图、高德地图等其他地图均可定制。

12.功能界面友好统一,使用简单方便,就一个类。

13.支持任何Qt版本,任何系统和任何编译器。

00-1010国内站点:[https://gitee.com/feiyangqingyun](3359gitee.com/feiyangqingyun)

国际网站:[https://github.com/Feiyangqingyun](3359github.com/Feiyangqingyun)

## 一、前言

## 二、功能特点

void mapdownload :3360 download(const QString URL,const QString dirName,const QString fileName,int cbdxq)

{

if(URL . isempty()){ 0

返回;

}

//启动计时器

QTime时间;

time . start();

//首先确定文件夹是否存在,如果不存在则新建一个文件夹。

QDir(DirName);

if(!dir . exists()){ 0

dir . MK path(DirName);

}

//本地事件循环,不是主界面

QEventLoop事件循环;

QNetworkReply * reply=manager-get(QNetworkRequest(QurL(URL)));

connect(回复、SIGNAL(完成())、eventLoop、SLOT(退出()));

//设置下载超时

QTimer定时器;

connect(定时器、SIGNAL(timeout())、eventLoop、SLOT(quit()));

timer . setsingletshot(true);

timer.start(超时);

eventLoop . exec();

bool错误=false

if(reply-bytes available)(0 reply-error()==qnetworkreply : norerr){ 0

//读取所有数据并保存为文件。

QByteArray数据=reply-readAll();

QFile文件(目录名文件名);

if(file . open(Qfile : write only | Qfile 3360: run cate)){ 0

file.write(数据);

file . close();

}

} else {

//可以自己添加下载失败的统计。

错误=真;

QDebug() TIMEMS“下载错误”回复-error string();

}

int useTime=time . appealed();

emit finsh(url、fileName、cbdxq、useTime、错误);

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。