【问题标题】:Is it possible to integrate Google Earth in C# desktop application? [closed]是否可以将 Google 地球集成到 C# 桌面应用程序中? [关闭]
【发布时间】:2020-07-09 11:39:39
【问题描述】:

对于我正在开发的 C# 桌面应用程序,我需要(详细/高分辨率)空中图片。 我知道我们有谷歌地图和谷歌地球和其他一些服务,现在有些显示非常好的分辨率的空中图像。 同时,我不仅需要图像,还需要控制缩放/旋转,并且需要一些机制来测量图像中的距离。 所以我需要的是一些空中图像 API。

在对数据源进行了一些研究之后,我认为获取空中图像的最佳选择是:

  • 谷歌地图 API
  • 可下载的桌面应用程序 Google 地球。

Google 地图/Google 地球有很多“版本”。一些基于网络,一些作为可下载的应用程序。 我得出的结论是,如果我需要 Google Maps API,并且想要一个 API 密钥,我必须提供信用卡信息(即使在免费配额内)。过去,您无需提供信用卡信息即可获得免费的 API 密钥。我没有信用卡,而且由于它不是我正在开发的商业应用程序,所以我申请信用卡只是为了获得 API 的免费配额,这太过分了。可惜了。

我设法将 ChromiumWebBrowser 控件添加到我的应用程序中,并在其中嵌入了 Google 地图。这意味着我在我的应用程序中嵌入了一个网络浏览器,并将谷歌地图加载到其中,就像您在浏览 maps.google.com 时所做的那样。我可以尝试在我的嵌入式网络浏览器中操作 javascript 来控制在其中运行的地图应用程序,但这似乎既复杂又麻烦。

如果有插件或可以由我自己的代码控制的东西,另一种解决方案可能是使用可下载的 Google 地球。这可能意味着必须在计算机上安装 Google 地球,但这没关系。

所以我的目标是:

  • 获取空中图片(可从任何来源获得最高质量)。
  • 在某些服务上创建帐户/api 密钥并使用某些免费计划是没有问题的,但要实现这一点的信用卡麻烦是个问题。
  • 不仅可以获取图像,还可以对其进行控制。因为可以通过变通方法(将 Google 地图嵌入网络浏览器控件,并挂钩网络浏览器呈现)来实现获取图像。

任何有这方面经验的人,或者最好的选择是什么? 特别是如果有选项可以将 Google 地球实施到我自己的桌面应用程序中,并且能够对其进行控制。

【问题讨论】:

  • Google 不想免费赠送任何东西。所以他们禁用了使用没有密钥的软件(如 c#)建立的连接。

标签: c# google-maps google-maps-api-3 maps integration


【解决方案1】:

这里有几个选项。您可以使用:

如果您想使用 Google Maps API 路线,则必须手动调用和处理请求。您可以使用 C# WebRequest 类来执行此操作。您应该阅读Google Maps Platform API 的文档,并且应该使用WebRequest 类发送GET 和POST 请求。

【讨论】:

    猜你喜欢
    • 2011-05-07
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多