我有一个带有谷歌地图的应用程序。目前, 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/