c# - C# winform 上的交互式 Google map

原文 标签 c# winforms google-maps

我有一个带有谷歌地图的应用程序。目前, map 是通过 Maps Javascript API 在 WebBrowser 中呈现的。

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

我不在乎 map 是保留在网络浏览器控件中还是被其他东西替换。如果需要,我可以把整个东西撕下来,放一张新 map ——但它应该是谷歌(因为我们有昂贵的企业 API),它绝对必须保留在 winform 中。

我怎样才能完成这种交互性?

最佳答案

几乎错过了您说您愿意用其他东西替换网络版本的部分。
看看Great Maps - for Windows Forms and WPF .它是一个自定义的 WinForms 控件,您可以拖放到表单上。
它支持很多 map 提供商,包括谷歌地图。他们有一个演示,你可以玩它,看看它是如何工作的,以及它是如何集成的。
根据经验,我可以说(很容易)绑定(bind)到 map 事件(单击标记,也可以双击)。
值得注意的是,使用 Google map 可能会违反 Google 的使用条款(您还会在演示应用程序中收到警告)。您可以随时探索一些免费提供程序,例如 OpenStreetMap。

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

相关文章:

c# - 使用 MVVM 在 WPF Toolkit DataGrid 中显示/编辑复杂对象

c# - 如何在C#中使用此文件打开特定文件?

.net - 如何检测 .Net 应用程序类型?

android - 如何根据 Places API 返回的结果相应地缩放 Google map ?

c# - 如何从接口(interface)返回更多派生类型?

c# - rsa 数据解密错误。系统找不到指定的文件

c# - 将数据集/数据表转换为 CSV

c# - 更改两个相关DateTimePicker的值时如何防止堆栈溢出错误?

google-maps - 谷歌地图 KML : 8-Digit Hex Code

google-maps - 我应该采取哪些步骤来保护我的 Google Maps API key ?