【问题标题】:Bing Maps WPF control in OFFLINE mode (MercatorMode)离线模式下的 Bing Maps WPF 控件 (MercatorMode)
【发布时间】:2014-03-31 15:51:16
【问题描述】:

我们正在研究 Bing Maps WPF 控件在离线模式下的潜在用途(在控件中将称为 MercatorMode)。离线模式意味着我们在台式机上下载不同缩放级别的图块,然后 WPF 控件访问这些预先保存的图块,而不是连接到 Internet。从技术上讲,这个方案非常有效。

目前尚不清楚如何在不违反任何 Bing 地图许可规则的情况下获取(下载)图块。所以它提出了两个问题:

  1. 是否存在正式下载 Bing 地图图块的方法
  2. 官方是否允许在OFFLINE中使用控件 模式(假设我们从某个图块来源获得了一些图块)

Bing 地图的法律文档比较混乱,而不是澄清。所以我们想问问其他开发者的特殊经历。

我们的最终目标是:

  1. 一个很好的地图 WPF 控件(这是一个自然的 WPF 控件,而不仅仅是一个 WinForms 控件的包装器)支持离线模式
  2. 在离线模式下使用的合法瓷砖来源(成本为 不是问题——我们已经准备好支付瓷砖费用)

也许社区会建议另一对 WPF Control + 数据源用于磁贴。我们不需要任何深度缩放,因为我们计划仅使用控件和图块来绘制国家的边界​​(不包括极小的国家)。 现在我们看到,作为数据源的 Bing Maps 也支持 Bing Maps WPF 控件,但是许可条款实在是一团糟。

PS 我们正在开发一个“内部”桌面应用程序,该应用程序将在我们的组织内部使用,而 Bing 地图许可证在提及 Web 应用程序和 Windows 应用商店时从未明确提及桌面应用程序。有人知道微软是否故意不提及桌面应用程序吗?

【问题讨论】:

  • OpenStreetMap 怎么样?它不是 Bing,但它是免费的。
  • OpenStreetMap 最可靠的 WPF 控件是什么? OpenStreetMap 是否允许下载瓦片?

标签: c# bing-maps


【解决方案1】:

任何 Bing 地图控件都不能离线使用。这违反了使用条款。 MercatorMode 不是离线模式,这只是所有标准地图视图都继承自的模式,您可以使用它为自定义切片图层设置空白背景。地图控件将始终需要访问互联网,否则它将无法验证地图。当它无法验证地图时,会引发错误。您可以使用以下代码示例处理此错误,使其禁用地图而不是使应用程序崩溃:http://rbrundritt.wordpress.com/2012/04/05/bing-maps-wpf-internet-connection-issue/

有关离线地图控制解决方案,请查看 GMap.NET:http://greatmaps.codeplex.com/

【讨论】:

    【解决方案2】:

    Telerik 有一个不错的 Map control,它支持:

    • 海量数据的丰富地理环境
    • 热点图
    • 多个切片图层
    • 多个地图提供者

    支持 Bing 地图、OpenStreetMaps、自定义地图提供程序,以及 作为地理空间数据的可视化。

    【讨论】:

      【解决方案3】:

      您可以尝试https://greatmaps.codeplex.com/,它在 WPF/离线模式下运行良好。首先,您可能必须使用他们的应用程序以所有缩放级别下载所需的地图。 maplets 存储在 SQLLite 数据库中,您可以在 WPF 应用程序中使用该数据库。整个源代码以及 WPF 中的地图控件也可以在此处获得。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多