readme.txt
    Qt Mercator Map Viewer (OpenStreetMap based)
    OpenStreetMap一般是使用Web服务发布瓦片和矢量数据的。本项目主要演示如何使用Qt 搭建一个简单的OpenStreetMap瓦片客户端,实现以下功能:
    
    1、OpenStreetMap 服务器瓦片的自动下载与本地缓存。
    
    2、基于Qt插件的接口开发技术,实现高度可扩展的图层。提供两个图层插件范例。第一个插件演示了使用底层QPainter实现绘图、量测功能;第二个插件演示了使用QGraphicsScene系列模型-视图架构在可变比例尺地图上进行静态、动态标注的技术。
    
    3、基于事件、呼叫的图层插件间通信技术。插件可以发布各自的功能,并与主框架、其他插件交互。一个典型的例子是标图插件可以从量测插件获得选取的区域信息,而标图插件支持从外部传入绘图指令完成所有界面上支持的功能。
    
    4、基于Active-Qt的封装技术。这种技术使得 C#, MFC, VB应用可以方便的嵌入OpenStreetMap 地图,并获得事件、命令其动作。
    
    经过不断试用与修改,这个查看器最终还是完成了设计、实现。查看器,顾名思义,没有编辑功能:说的白一点,只是一个以OpenStreetMap为底图的显示装置罢了。和专业GIS相比,这款基于插件的OpenStreetMap瓦片查看器客户端显得单薄。和消费类GIS(如面向浏览器的地图API)相比,它是本地的,似乎和Native应用更加合拍。
    
    其实一直以来想利用业余时间做这样一个工具,使得非计算机专业的工程师们可以拥有一款支持漫游、标图、动画效果的轻量级地理信息插件,特别是掌握C++、C#等本地工具的工程师们可以不经学习即能获得GIS二次开发能力。
    
    技术细节:
    https://goldenhawking.blog.csdn.net/article/details/50530046
    
    ---------------------------
    We are very glad to publish qplanetosm viewer V1.0.0, a plug-in based cross platform opensource map viewer.
    This project was orginally designed for Parkinglots status visualization only. A few month ago,  develop team find that plugin system in qt is strong enough , can do many other things than parkinglots project. Main features :
    
    This Project contains a cross-platform qt-based openstreetmap(OSM) viewer.
    	* Project qtviewer_planetosm is the main project, provides a plugin system for layer extension. Layers will be able to call coordinates convertion functions using specail interface provided by main framework; Layers can communicate with main-framework and other plugins using event system and function call system. Both event system and function call system is based on key-value style parament delivering (QMap<QString, QVariant>).
    	* Project axqtviewer_planetosm stays at a same phycial path with qtviewer_planetosm, it is a win32 active-X warpper if qtviewer_planetosm. C#, VB, MFC and Old Web Apps in win32 will take advantage of this feature. It also provides a key-value event / function call system , using QString. It is mostly like a bridge across internal QMap<QString, QVariant> calls and external QString calls.
    2 sample plugin examples, demonstrating how plugin works.
    	* Project qtvplugin_grid demonstrating low-level painting and event handling using QPainter and Coordinates convertions.
    	* Project qtvplugin_geomarker demonstrating heigh-level painting and event handling using QGraphicsScene system. It may be very interesting to see how to deal with map zooming in QGraphicsScene , keeping point marks same pixel size in different level.
    1 ActiveX container, demonstrating how to draw animation marks on OSM Map.
    	* testcontainer is a active-qt based container. in this container, features will be tested such like event system, plugin method system.
    
    There are also several limitations for this project. 
    	* The OSM tiles is just a BACKGROUND image, vector data is not supported. For another word, it is impossible to query road names, place names during navigating.
    	* Projection system is limited to mercator projection, others is not supported.
    	* In Linux system, active-X control is disabled, we will introduce D-bus or TCP server in future instead.
    	
    
    

    项目简介

    为Qt插件编程教学开发,开源的OpenStreetMap地图控件,可用于所有墨卡托投影的瓦片服务。 An opensource openstreetmap control.

    发行版本 1

    Release_win32_win64_2021-01-01

    全部发行版

    贡献者 7

    开发语言

    • C++ 91.8 %
    • C# 6.3 %
    • QMake 1.7 %
    • HTML 0.1 %
    • C 0.1 %