c++ - MFC 应用程序的 map 插件

标签 c++ visual-studio-2008 mfc plugins dictionary

我想在 MFC 应用程序(带有 MFC 功能包的 Visual Studo 2008)中显示 map 。 我突然想到以下要求:

  • 我必须能够添加自己的标记(简单的纬度/经度位置),最好使用不同的颜色/图标,以便可以区分不同类型的标记。
  • 如果 map 数据是从在线源获取的,则它必须是可缓存的,即我可以在某个(或多个)缩放级别预加载某个区域的 map ,然后切换到“离线模式”。或者,所有 map 数据都与应用程序一起安装。
  • 用户应该可以进行放大/缩小和平移等标准操作。
  • 用户必须能够选择我的标记,最好是通过在标记周围拖动矩形来选择。
  • 由于整个应用程序是用 C++/MFC 编写的,因此我不想为此插件使用 .NET 运行时。
  • 它不应该花很多钱。

我目前正在使用一个名为“ESRI MapObjects LT2”的 ActiveX 插件,它可以以某种方式完成所有这些工作,但实现起来非常繁琐,开发似乎在 Visual Studio 6 可用且 map Material 可用时停止了。要么非常基本,要么非常昂贵。

我考虑过使用 Google map 或 Google 地球,但我认为它们并不真正支持非基于网络的应用程序使用。 我发现ArcView成为我当前使用的插件的某种继承者,但我不认为我属于目标受众,因为它提供的功能远远超出了我的需要。我也没有找到任何有关定价的信息。

最佳答案

我编写了一个开源的地理藏宝应用程序(它是用 C++ 编写的)来渲染 map ,来源位于:
http://code.google.com/p/gpsturbo/

它使用我自己的自定义渲染,但如果您愿意,您可以删除 map 解析。它使用谷歌图 block (并缓存图 block 以供离线使用)以及 Garmin 格式的 GPS map 渲染 map ,还有一个 Openstreetmap 格式渲染器。

关于c++ - MFC 应用程序的 map 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/916877/

相关文章:

visual-studio-2008 - 如何强制 Visual Studio 2008 使用正确的语言环境保存 vcproj 文件?

visual-studio - 如何使用 CMake 创建新配置

c++ - <dirent.h> 在 Visual Studio 2010 或 2008 中

c++ - 关于mfc对话框栏

c++ - R6030 CRT 未初始化

c++ - 如何打乱数组以便所有元素改变它们的位置

c++ - 如何通过迭代解决0-1包问题?

c++ - 无法在 gtkmm 窗口中添加多个按钮?

c++ - 我如何以通用方式打印任何容器的内容?

c++ - 组合框下拉列表太小以至于旁边出现上下箭头