我有一个谷歌地图的应用程序.目前,地图通过Maps
Javascript API在WebBrowser中呈现.
我需要让地图与应用程序进行交互.具体来说,我在地图上放置了标记. winform需要在点击其中一个,双击等时注册,并知道它是哪一个.如果用户右键单击地图上的空白区域,我需要一些方法来注册上下文菜单的位置和该像素表示地理空间的纬度/经度.
我不关心地图是保留在web浏览器控件中还是替换为其他内容.如果需要的话,我可以把整个事情撕掉并在那里放一张新地图 – 但它应该是谷歌(因为我们有昂贵的企业API),它绝对必须留在winform中.
我怎样才能完成这种互动?
解决方法
几乎错过了你说你愿意用其他东西替换web版本的部分.
看看Great Maps – for Windows Forms and WPF.它是一个自定义的WinForms控件,你可以放在窗体上.
它支持很多地图提供商,包括谷歌地图.他们有一个演示,你可以玩它,看看它是如何工作的以及它是如何集成的.
根据经验,我可以说(很容易)绑定到地图事件(标记点击,双击也是如此).
值得注意的是,使用Google地图可能会违反Google的使用条款(您还会在演示应用中收到警告).您可以随时浏览一些免费的提供程序,例如OpenStreetMap.