Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(0)-引子

OpenStreetMap一般是使用Web服务发布瓦片和矢量数据的。本系列博文主要演示如何使用Qt 搭建一个简单的OpenStreetMap瓦片客户端,实现以下功能:

1、OpenStreetMap 服务器瓦片的自动下载与本地缓存。

2、基于Qt插件的接口开发技术,实现高度可扩展的图层。提供两个图层插件范例。第一个插件演示了使用底层QPainter实现绘图、量测功能;第二个插件演示了使用QGraphicsScene系列模型-视图架构在可变比例尺地图上进行静态、动态标注的技术。

3、基于事件、呼叫的图层插件间通信技术。插件可以发布各自的功能,并与主框架、其他插件交互。一个典型的例子是标图插件可以从量测插件获得选取的区域信息,而标图插件支持从外部传入绘图指令完成所有界面上支持的功能。

4、基于Active-Qt的封装技术。这种技术使得 C#, MFC, VB应用可以方便的嵌入OpenStreetMap 地图,并获得事件、命令其动作。

相关的代码可以从

https://gitcode.net/coloreaglestdio/qplanetosm

直接克隆。

 

原理部分将在下一节开始逐一介绍。

------------------

编译注意事项:

1、在Qt-5.3.2下测试通过,支持 Visual C++ 2010 express 以上编译器, MinGW32 4.8 以上(编译器开关 -std=c++11开启)。

2、在Ubuntu下需要C++11支持,且ActiveX 特性不可用。

3、在Windows下,需要使用管理员权限执行编译,才能自动注册控件。

4、脱离QtCreator环境后,控件因为缺少DLL依赖项,无法正确运行。可通过依赖工具拷贝库文件到发布包,或者直接把控件拷贝到Qt的安装文件夹/BIN文件夹下,而后以管理员身份、一般公户身份运行 regsvr32.exe 注册。

5、中文翻译包使用qt 语言家发布到与可执行文件同路径即可。

下图是发布包里包含的文件(vc2010编译器,opengl=desktop条件下)

Center

下图是ActiveX 容器内的两个地图控件。

 

Center

 

 

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁劲犇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值