c# winform上的交互式谷歌地图
本文关键字:交互式 谷歌地图 winform | 更新日期: 2023-09-27 18:16:28
我有一个应用程序与谷歌地图在它。目前,地图是通过maps Javascript API在WebBrowser中呈现的。
我需要使地图与应用程序交互。具体来说,我在地图上做了标记。当其中一个被点击、双击等时,winform需要注册,并知道它是哪一个。如果用户右键单击地图上的空白区域,我需要某种方法来注册在哪里绘制上下文菜单和像素在地理空间上代表的纬度/长度。
我不在乎地图是否保留在浏览器控件中或被其他东西取代。如果需要的话,我可以把整个东西都撕掉,在那里放一个新的地图——但是它应该是Google(因为我们有昂贵的企业API),而且它绝对必须留在winform中。
我怎样才能完成这个交互?
我差点错过你说你愿意用其他东西代替网页版本的那部分。
看看Great Maps - for Windows Forms和WPF。这是一个自定义的WinForms控件,你可以把它放到窗体上。
它支持很多地图提供商,包括谷歌地图。他们有一个演示,你可以玩,看看它是如何工作的,以及如何集成。
根据经验,我可以说绑定到映射事件(点击标记,双击)是可能的(相当容易)。
值得注意的是,与它一起使用谷歌地图可能违反谷歌的使用条款(你也会在演示应用中得到警告)。您可以随时探索一些免费的提供商,如OpenStreetMap。
我不会在windows窗体和wpf (GMap.Net)中使用Great Maps,因为它直接访问Google Map Tiles违反了Google Map使用条款。
如果你遵循这个链接,你可以自己托管一个:https://github.com/mchall/GoogleMapsApi。
或者你可以使用一个免费的WPF控件:https://archive.codeplex.com/?p=wpfgooglemap。
我们使用GDS谷歌地图。它不是免费的,但可以负担得起。它能满足我们的需要。