.NET MAUI + Maps / Google Maps for iOS (II)

要使用 .NET MAUI 官方的 Maps 元件的話,需要額外在 .NET MAUI 專案中安裝 Nuget 套件: "Microsoft.Maui.Controls.Maps"。

而誠如上一篇所說,由於在 Android 平台當中 "Microsoft.Maui.Controls.Maps" 會直接使用 Android 預設的地圖服務平台 Google Maps。所以,要開始使用 .NET MAUI 的官方 Maps 元件並執行在 Android 平台之前,請先前往 Google Maps Platform 進行申請。

Google 統一了雲端服務的申請操作,接著就自然而然地會被導向 Google Cloud Console 當中進行:


對於 Google Cloud 服務的使用概念,可能需要先建立一下其基本運用觀念:

一個 Google Account 可以在 Google Cloud 服務當中建立 "數個專案" (有上限數量,在沒有額外申請的情況下,似乎任一個 Google Account 是 12 個吧? 下圖的 Google Account 有 25 個專案數額度是經過額外申請的)。

 

在 Google Cloud Console 建立專案完成後,就能開始申請 Google Cloud 當中所提供的各式服務。而 Google Maps Platforms 所提供的服務,則被歸類在 "其他 Google 產品":

若從上圖的方式點選了 "Google 地圖平台",就會看到本文第一張圖片的畫面了。

若所建立的專案從未啟用過任何服務,當點選左側選單中的 "API 和服務",就會進到此畫面中:

 

緊接著就點選畫面當中的 "啟用 API 和服務",就會再轉跳到下圖 "API 程式庫" 的畫面:

此時終於看到本篇文章的要角 "Maps SDK for Android",點選進入該產品詳細資料畫面後,直接點選 "啟用":

 

隨後服務建立完成後,就會看到該服務相關的基本監視狀態:

 

而為了使用此 "Maps SDK for Android" 服務的安全性,接著下一步會建議開始設定其 "憑證"(畢竟不希望自己建立的 Google 服務被他人盜用吧?!)。

 

幾個設定如下:

  1. 取個名稱: Map SDK API Key (如下圖呈現文字,請自行取名)。
  2. 設定應用程式限制: Android 應用程式。
  3. API 限制: 限制金鑰。
  4. 已選取的 API: Maps SDK for Android (從上方的下拉選單選取,可複選)。

 

接著選取 Android 限制的 ADD。

 

此處會有兩個資訊 "1. 套件名稱、2. SHA-1 憑證指紋" 要填入:

套件名稱不困難,就是 App 在 Android 的識別 id,可在 .NET MAUI 的專案屬性當中找到;但 "SHA-1 憑證指紋" 就比較麻煩點,雖然在畫面右側(紅框)就有簡易教學該如何填寫,如果是第一次使用還真的會不知道怎弄。

這裡指的 keytool 是指在 JDK 底下的 keytool,如果是現行 .NET MAUI 在對 Android 編譯時會採用的 OpenJDK,那就會是 jdk-11.0.16.101-hotspot 。透過 "命令提示字元" 切換到該 JDK的安裝路徑底下的 bin 資料夾,就會有 keytool 可以使用。

而由於目前建立的這個 API Key 是要給 Debug 的 keystore 用的,所以 -alias "androiddebugkey";-storepass "android";-keypass "android" 的指令參數,都是 Visual Studio 安裝時就建立的資訊,在命令提示字元當中就如實填寫即可:

另外 "debug.keystore" 預設會在 "C:\Users\<username>\AppData\Local\Xamarin\Mono for Android\" 的路徑底下,完成數入 Enter 就會看到 "憑證指紋 SHA1"。

所以就如下圖方式填入相關資訊:

 

完成後會看到如下畫面,最後記得點選 "儲存"。

 

回到金鑰和憑證的頁面,就會看到 API 金鑰有剛剛建立的 "Map SDK API Key" 的資訊了。

 

下一回,就來介紹該如何在 .NET MAUI 中使用 "Microsoft.Maui.Controls.Maps" 囉!  


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
 

MVP_Logo



I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。