c# - C# winform 上的交互式谷歌地图

标签 c# winforms google-maps

我有一个应用程序,其中包含 Google map 。目前, map 是通过 Maps Javascript API 在 WebBrowser 中呈现的。

我需要使 map 与应用程序交互。具体来说,我在 map 上放置了标记。 winform需要在点击其中一个,双击等其中之一时进行注册,并知道是哪一个。如果用户右键单击 map 上的空白区域,我需要一些方法来注册绘制上下文菜单的位置和该像素在地理空间上表示的纬​​度/经度。

我不关心 map 是保留在网络浏览器控件中还是被其他东西替换。如果需要,我可以拆掉整个东西并在其中放一张新 map - 但它应该是 Google(因为我们有昂贵的企业 API)而且它绝对必须 留在 winform 中。

我怎样才能完成这种互动?

最佳答案

差点漏掉你说你愿意用其他东西替换网络版本的部分。

看看Great Maps - for Windows Forms and WPF .它是一个自定义 WinForms 控件,您可以将其放在表单上。

它支持很多 map 供应商,包括谷歌地图。他们有一个演示,您可以玩一下,看看它是如何工作的以及如何集成。

根据经验,我可以说可以(非常容易地)绑定(bind)到 map 事件(单击标记、双击)。

值得注意的是,使用 Google map 可能会违反 Google 的使用条款(您还会在演示应用程序中收到警告)。您可以随时探索一些免费提供商,例如 OpenStreetMap。

关于c# - C# winform 上的交互式谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25149624/

相关文章:

c# - 从数据库中删除记录时如何解决 Linq to SQL ChangeConflictException

c# - 如何通过代码在一个实例中创建 .NET 程序的另一个实例?

android - 是否可以使用 Google map 在 Android/iOS 上创建转弯 GPS 导航应用程序?

javascript - 哎呀!有些不对劲。此页面未正确加载 Google map 。有关技术细节,请参阅 JavaScript 控制台

android - 每当我从一个选项卡切换到另一个选项卡时,都会再次调用 onCreate 方法

c# - 按列表 C# 中的值过滤/迭代列表

C# 开关类型

c# - 查找二叉树中叶到根路径的最大总和

c# - 弹出窗口 web 浏览器控件

c# - String.Equals() 没有按预期工作