[英]Interactive Google maps on a C# winform
我有一個谷歌地圖的應用程序。 目前,地圖通過Maps Javascript API在WebBrowser中呈現。
我需要讓地圖與應用程序進行交互。 具體來說,我在地圖上放置了標記。 winform需要在單擊其中一個,雙擊等時注冊,並知道它是哪一個。 如果用戶右鍵單擊地圖上的空白區域,我需要一些方法來記錄上下文菜單的繪制位置以及該像素表示地理空間的緯度/經度。
我不關心地圖是保留在webbrowser控件中還是替換為其他內容。 如果需要的話,我可以把整個事情撕掉並在那里放一張新地圖 - 但它應該是谷歌(因為我們有昂貴的企業API),它絕對必須留在winform中。
我怎樣才能完成這種互動?
幾乎錯過了你說你願意用其他東西替換web版本的部分。
看看Great Maps - 適用於Windows Forms和WPF 。 它是一個自定義的WinForms控件,您可以放在窗體上。
它支持很多地圖提供商,包括谷歌地圖。 他們有一個演示,您可以使用它演示它是如何工作的以及如何集成它。
根據經驗,我可以說(很容易)綁定到地圖事件(標記點擊,雙擊也是如此)。
值得注意的是,使用Google地圖可能會違反Google的使用條款(您還會在演示應用中收到警告)。 您可以隨時瀏覽一些免費的提供程序,例如OpenStreetMap。
我不會使用Great Maps for windows forms和wpf(GMap.Net),因為它直接訪問Google Map Tiles違反了Google Map Usage條款。
如果您點擊此鏈接,您可以自己托管一個: https : //github.com/mchall/GoogleMapsApi 。
或者您可以在以下網址使用一個免費的WPF控件: https : //archive.codeplex.com/?p = wpfgooglemap 。
我們使用GDS Google Map 。 它不是免費的,但價格實惠。 它做我們需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.