以程式設計方式變更地圖的觀點。
新增和自訂標記。
標注具有重迭的地圖。
不同于現在已淘汰的Google 地圖android API v1, ...
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
閱讀英文
儲存
目錄
閱讀英文
儲存
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
在您的應用程式中使用Google地圖API
發行項
04/02/2022
8位參與者
此頁面有所助益嗎?
Yes
No
還有其他意見反應嗎?
系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。
隱私權原則。
送出
謝謝。
本文內容
使用地圖應用程式很好,但有時候您會想要在應用程式中直接包含對應。
除了內建的maps應用程式之外,Google也提供適用于Android的原生對應API。
地圖API適用于您想要更充分掌控對應體驗的案例。
地圖API可能的事項包括:
以程式設計方式變更地圖的觀點。
新增和自訂標記。
標注具有重迭的地圖。
不同于現在已淘汰的Google地圖androidAPIv1,Google地圖androidAPIv2是GooglePlayServices的一部分。
Xamarin.Android應用程式必須符合某些必要的必要條件,才能使用Google地圖AndroidAPI。
Google地圖API必要條件
您必須採取幾個步驟,才能使用地圖API,包括:
取得地圖API金鑰
安裝GooglePlayServicesSDK
安裝>xamarin.googleplayservices.base。
從NuGet地圖套件
指定必要的許可權
(選擇性)使用GoogleApi建立模擬器
取得Google地圖API金鑰
第一個步驟是取得Google地圖api金鑰(請注意,您無法重複使用舊版Google地圖v1API)中的API金鑰。
如需如何取得及使用適用于Xamarin的API金鑰的詳細資訊,請參閱取得Google地圖Api金鑰。
安裝GooglePlayServicesSDK
GooglePlayServices是Google提供的技術,可讓Android應用程式利用各種Google功能,例如Google+、In-App帳單和地圖。
這些功能可在Android裝置上以背景服務的形式存取,這些裝置包含在GOOGLEPLAYSERVICESAPK中。
Android應用程式會透過GooglePlayServices用戶端程式庫與GooglePlayServices互動。
此程式庫包含個別服務(例如地圖)的介面和類別。
下圖顯示Android應用程式與GooglePlayServices之間的關聯性:
Android地圖API是GooglePlayServices的一部分來提供。
在XamarinAndroid應用程式可以使用地圖API之前,必須使用AndroidSDK管理員安裝GooglePlayServicesSDK。
下列螢幕擷取畫面顯示AndroidSDK管理員可以在何處找到GooglePlayservices用戶端:
注意
GooglePlayservicesAPK是可能不會出現在所有裝置上的授權產品。
如果未安裝,Google地圖將無法在裝置上運作。
安裝>xamarin.googleplayservices.base。
從NuGet地圖套件
地圖>xamarin.googleplayservices.base套件包含適用于GooglePlayServices地圖API的Xamarin.Android系結。
若要加入GooglePlayServices對應封裝,請在方案總管中,以滑鼠右鍵按一下專案的[參考]資料夾,然後按一下[管理NuGet封裝...:
這會開啟NuGet封裝管理員。
按一下[流覽],然後在[搜尋]欄位中輸入XamarinGooglePlayServices地圖。
地圖選取[>xamarin.googleplayservices.base],然後按一下[安裝]。
(如果先前已安裝此套件,請按一下[更新]。
):
請注意,也會安裝下列相依性套件:
>xamarin.googleplayservices.base基底
>xamarin.googleplayservices.base
>xamarin.googleplayservices.base
指定必要的許可權
應用程式必須識別硬體和許可權需求,才能使用Google地圖API。
GooglePlayServicesSDK會自動授與某些許可權,因此開發人員不需要明確地將它們新增至AndroidManfest.XML:
存取網路狀態–地圖API必須能夠檢查是否可以下載地圖底圖。
網際網路存取-必須有網際網路存取權,才能下載地圖底圖,並與GooglePlay伺服器進行通訊以進行API存取。
您必須在Google地圖AndroidAPI的AndroidManifest.XML中指定下列許可權和功能:
OPENGLesv2–應用程式必須宣告OpenGLesv2的需求。
Google地圖Api金鑰–api金鑰是用來確認應用程式已註冊,且已獲授權可使用GooglePlayServices。
如需此金鑰的詳細資訊,請參閱取得Google地圖API金鑰。
要求舊版的APACHEHTTP用戶端–以Android9.0(API層級28)或以上版本為目標的應用程式,必須指定舊版ApacheHTTP用戶端是要使用的選擇性程式庫。
存取GoogleWeb服務–應用程式需要存取googleweb服務的許可權,以存取Android地圖API。
GooglePlayServices通知的許可權–應用程式必須獲得從GooglePlayServices接收遠端通知的許可權。
存取位置提供者–這些是選擇性的許可權。
它們可讓GoogleMap類別在地圖上顯示裝置的位置。
此外,Android9已從bootclasspath移除ApacheHTTP用戶端程式庫,因此以API28或更高版本為目標的應用程式無法使用該程式庫。
您必須將下列程式程式碼新增至application檔案的application節點,才能在以API28或更高版本為目標的應用程式中繼續使用ApacheHTTP用戶端:
...
注意
舊版GooglePlaySDK需要應用程式來要求WRITE_EXTERNAL_STORAGE許可權。
GooglePlayServices最近的Xamarin系結不再需要這項需求。
下列程式碼片段是必須新增至AndroidManifest.XML的設定範例:
.permission.MAPS_RECEIVE"/>
.permission.MAPS_RECEIVE"android:protectionLevel="signature"/>