C#winform上的交互式Google地图

问题描述 投票:7回答:2

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

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

我不关心地图是保留在webbrowser控件中还是替换为其他内容。如果需要的话,我可以把整个事情撕掉并在那里放一张新地图 - 但它应该是谷歌(因为我们有昂贵的企业API),它绝对必须留在winform中。

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

c# winforms google-maps
2个回答
9
投票

几乎错过了你说你愿意用其他东西替换web版本的部分。

看看Great Maps - for Windows Forms and WPF。它是一个自定义的WinForms控件,您可以放在窗体上。

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

根据经验,我可以说(很容易)绑定到地图事件(标记点击,双击也是如此)。

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


0
投票

我不会使用Great Maps for windows forms和wpf(GMap.Net),因为它直接访问Google Map Tiles违反了Google Map Usage条款。

如果您点击此链接,您可以自己主持一个:https://github.com/mchall/GoogleMapsApi

或者您可以在:https://archive.codeplex.com/?p=wpfgooglemap使用一个免费的WPF控件。

我们使用GDS Google Map。它不是免费的,但价格实惠。它做我们需要的。

© www.soinside.com 2019 - 2024. All rights reserved.