[應用] 在電腦應用程式,使用 GMap.NET 套件繪製出 Google 地圖

        GMap.NET 是一個功能強大的地圖繪製套件,用於 WinForm 應用程式並載入 Google 地圖。由於 Google 地圖本身提供 API 函數讓第三方使用,而 GMap.NET 套件將這些 Google 地圖的函數封裝起來,組成一個 .NET 環境下開發的函數庫,方便用 C# 語言開發地圖繪製與標示的功能。
        首先,在 Visual Studio 上面開啟一個專案準備開發 GMap 地圖,接著從 NuGet 套件管理中搜尋 "GMap",安裝 GMap.NET.WinForms 等相關的軟體函數庫,如下圖一所示。
圖一:安裝 GMap.NET 套件

        GMap.NET 將 Google 地圖的功能函數封裝起來,基本上,這些 GMap 函數還是用到 Google 地圖的功能,而地圖功能有分為基本款和付費款。基本款的功能,像是標示一個點,描繪一個多邊形的路徑圖,這些函數被呼叫後就能執行。付費款的功能(或稱進階功能),像是座標與地址的轉換,像是兩點的路徑搜尋街景服務時區....等,這些函數並不是被呼叫就能 "成功" 執行。
        要想使用進階功能,先要連上 Google 控制台 https://console.cloud.google.com/,創建一個專案後,如下圖二所示。在憑證的頁面中,我們取得 API key 一串亂碼組成,將這串亂碼複製到前面創建的 Visual Studio 專案裡面,Key 設定到 GMapProviders 如下行,這樣我們開發的應用程式就能使用到地圖的進階功能。
   GMapProviders.GoogleMap.ApiKey = "AIzaSyAzzR7MftaJafXwVxHohroTWxxyyy";

圖二:Google地圖的 API 憑證密鑰

        接下來說明 GMap.NET 提供的類別函數,第一個最重要的地圖控制元件 GMapControl,如下的描述。
   GMapControl:在 WinForm 下的地圖控制元件,載入 Google 地圖。
   GMapOverlay:類別用於疊加到地圖上的物件,也就是說套在 Google 地圖上面的圖文字線條...等。
   GMarkerGoogle:此類別可造出一個標示點,再來設定標示點的屬性。
   GMapRoute:此類別用於設定起點與終點,以便尋找地圖兩點之間的路徑。也可以描繪多點的路徑連線。
   GMapPolygon:此類別用來繪製多邊形的路徑圖,它是一個封閉區域的多邊形狀。

   GMapProvider.Language = LanguageType.ChineseTraditional;  // 地圖上的文字換成繁體中文

        利用上述的函數庫和 Google 提供的路徑搜尋服務,我們實現了從 GMap 上面標示兩個點 (起點與終點) 並且搜尋這兩點之間的路徑,如下圖三所示。
圖三:在 GMap 上面,搜尋兩點的路徑


留言

此網誌的熱門文章

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] Android APP 藍芽範例說明 -- BluetoothChat

[應用] 藍芽 BLE client/server 架構:BLE remote controller

[模組] LD3320 離線語音辨識晶片與 ESP32 無線傳輸