Rychlý start: Vytvoření aplikace pro Android pomocí Azure Mapy
Tento článek ukazuje, jak přidat azure Mapy do aplikace pro Android. Provede vás těmito základními kroky:
- Nastavení vývojového prostředí
- Vytvořte si vlastní Mapy Azure.
- Získejte primární Mapy Azure pro použití v aplikaci.
- Z projektu Mapy referenční knihovny Azure.
- Přidání ovládacího Mapy Azure Do aplikace
Požadavky
- Vytvořte účet azure Mapy přihlášením k Azure Portal. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Nastavení účtu azure Mapy
- Získejte primární klíč předplatného, označované také jako primární klíč nebo klíč předplatného. Další informace o ověřování v Azure Mapy najdete v tématu Správa ověřování v Azure Mapy.
- Stáhněte Android Studio zdarma od Googlu.
Vytvoření účtu Azure Maps
Vytvořte nový účet Azure Mapy pomocí následujících kroků:
V levém horním rohu webu Azure Portal klikněte na Vytvořit prostředek.
Do pole Hledat na Marketplace zadejte Azure Mapy.
Ve výsledcích vyberte Azure Mapy. Klikněte na tlačítko Vytvořit, které se zobrazí pod mapou.
Na stránce Vytvořit účet Maps zadejte následující hodnoty:
- Předplatné, které chcete pro tento účet použít.
- Název skupiny prostředků pro tento účet. Můžete zvolit možnost Vytvořit novou nebo Použít existující skupinu prostředků.
- Název vašeho nového účtu.
- Cenová úroveň pro tento účet.
- Přečtěte si Licenční podmínky a Prohlášení o zásadách ochrany osobních údajů a zaškrtnutím příslušného políčka podmínky přijměte.
- Klikněte na tlačítko Vytvořit.
Získání primárního klíče pro váš účet
Po Mapy účtu úložiště načtěte primární klíč, který vám umožní dotazovat se na Mapy API.
- Otevřete svůj účet Maps na portálu.
- V části nastavení vyberte Ověřování.
- Zkopírujte do schránky Primární klíč. Místně ho uložte, abyste ho mohli použít později v tomto kurzu.
Poznámka
Pokud místo klíče předplatného Azure použijete Mapy klíč předplatného Azure, vaše mapa se nevykreslí správně. Z bezpečnostních důvodů se také doporučuje obměně mezi primárním a sekundárním klíčem. Pokud chcete klíče obměnět, aktualizujte aplikaci tak, aby se používá sekundární klíč, nasaďte ji a potom stiskněte tlačítko cyklu/aktualizace vedle primárního klíče a vygenerování nového primárního klíče. Starý primární klíč bude zakázán. Další informace o rotaci klíčů najdete v tématu Nastavení Azure Key Vault pomocí rotace klíčů a auditování.

Vytvoření projektu v Android Studio
Nejprve vytvořte nový projekt s prázdnou aktivitou. Provedením těchto kroků vytvořte Android Studio projektu:
- V části Zvolte projekt vyberte Telefon a Tablet. Vaše aplikace se bude spouštět v tomto provedení.
- Na kartě Telefon a Tablet vyberte Prázdná aktivita a pak vyberte Další.
- V části Configure your project (Konfigurace
API 21: Android 5.0.0 (Lollipop)projektu) vyberte jako minimální sadu SDK. Toto je nejstarší verze podporovaná službou Azure Mapy Android SDK. - Přijměte výchozí hodnoty a
Activity NameLayout Namevyberte Dokončit.
Další nápovědu Android Studio instalaci a vytvoření nového projektu najdete v Android Studio Android Studio dokumentaci k aplikacím.

Nastavení virtuálního zařízení
Android Studio umožňuje nastavit virtuální zařízení s Androidem na vašem počítači. To vám může pomoct otestovat aplikaci během vývoje. Pokud chcete nastavit virtuální zařízení, vyberte ikonu Správce virtuálního zařízení s Androidem (AVD) v pravém horním rohu obrazovky projektu a pak vyberte Vytvořit virtuální zařízení. Ke správci AVD se dostanete také tak, že na panelu nástrojů vyberete Nástroje > Android > AVD Manager. V kategorii Telefony vyberte Nexus 5X a pak vyberte Další.
Další informace o nastavení služby AVD najdete v Android Studio dokumentaci.

Instalace služby Azure Mapy Android SDK
Dalším krokem při vytváření aplikace je instalace služby Azure Mapy Android SDK. Sadu SDK nainstalujete provedením těchto kroků:
Otevřete soubor build.gradle nejvyšší úrovně a přidejte následující kód do oddílu všech projektů , bloku úložišť:
maven { url "https://atlas.microsoft.com/sdk/android" }Aktualizujte soubor app/build.gradle a přidejte do něj následující kód:
Ujistěte se, že hodnota minSdkVersion vašeho projektu je na rozhraní API 21 nebo vyšší.
Do části Android přidejte následující kód:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }Aktualizujte blok závislostí a přidejte nový řádek závislosti implementace pro nejnovější verzi Azure Mapy Android SDK:
implementation "com.azure.android:azure-maps-control:1.0.0"Poznámka
Číslo verze můžete nastavit na 0+, aby váš kód vždy odkazovat na nejnovější verzi.
Na panelu nástrojů přejděte na File (Soubor) a pak klikněte na Sync Project with Gradle Files (Synchronizovat soubory Gradle).
Přidejte fragment mapy k hlavní aktivitě (aktivita rozložení > > _main.xml):
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
V souboru MainActivity.java budete muset:
- přidání importů pro sadu Azure Mapy SDK
- nastavení ověřovacích informací Mapy Azure
- Získání instance mapy ovládacího prvku v metodě onCreate
Nastavení ověřovacích informací ve třídě globálně pomocí metod nebo to zajistí, že ověřovací informace nebudete muset přidávat
AzureMapssetSubscriptionKeydo každéhosetAadPropertieszobrazení.Mapový ovládací prvek obsahuje vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu se musí volat přímo z obsahující aktivity. Aby vaše aplikace správně volala metody životního cyklu ovládacího prvku mapování, je nutné přepsat následující metody životního cyklu v aktivitě, která obsahuje mapový ovládací prvek. A je nutné volat příslušnou metodu mapy ovládacího prvku.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Upravte soubor MainActivity.java následujícím způsobem:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import com.azure.android.maps.control.AzureMaps; import com.azure.android.maps.control.MapControl; import com.azure.android.maps.control.layer.SymbolLayer; import com.azure.android.maps.control.options.MapStyle; import com.azure.android.maps.control.source.DataSource; public class MainActivity extends AppCompatActivity { static { AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>"); //Alternatively use Azure Active Directory authenticate. //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); } MapControl mapControl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapControl = findViewById(R.id.mapcontrol); mapControl.onCreate(savedInstanceState); //Wait until the map resources are ready. mapControl.onReady(map -> { //Add your post map load code here. }); } @Override public void onResume() { super.onResume(); mapControl.onResume(); } @Override protected void onStart(){ super.onStart(); mapControl.onStart(); } @Override public void onPause() { super.onPause(); mapControl.onPause(); } @Override public void onStop() { super.onStop(); mapControl.onStop(); } @Override public void onLowMemory() { super.onLowMemory(); mapControl.onLowMemory(); } @Override protected void onDestroy() { super.onDestroy(); mapControl.onDestroy(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapControl.onSaveInstanceState(outState); }}Poznámka
Po dokončení předchozích kroků se může zobrazit upozornění z Android Studio o některém kódu. Pokud chcete tato upozornění vyřešit, importujte třídy odkazované v
MainActivity.java. Tyto třídy můžete automaticky importovat výběremAlt+Entermožnosti ( naOption+Returnpočítači Mac).
V souboru MainActivity.kt budete muset:
- přidání importů pro sadu Azure Mapy SDK
- nastavení ověřovacích informací Mapy Azure
- Získání instance mapy ovládacího prvku v metodě onCreate
Nastavení ověřovacích informací ve třídě globálně pomocí metod nebo to zajistí, že ověřovací informace nebudete muset přidávat
AzureMapssetSubscriptionKeydo každéhosetAadPropertieszobrazení.Mapový ovládací prvek obsahuje vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu se musí volat přímo z obsahující aktivity. Aby vaše aplikace správně volala metody životního cyklu ovládacího prvku mapování, je nutné přepsat následující metody životního cyklu v aktivitě, která obsahuje mapový ovládací prvek. A je nutné volat příslušnou metodu mapy ovládacího prvku.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Upravte soubor MainActivity.kt následujícím způsobem:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.azure.android.maps.control.AzureMap import com.azure.android.maps.control.AzureMaps import com.azure.android.maps.control.MapControl import com.azure.android.maps.control.events.OnReady class MainActivity : AppCompatActivity() { companion object { init { AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>"); //Alternatively use Azure Active Directory authenticate. //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); } } var mapControl: MapControl? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mapControl = findViewById(R.id.mapcontrol) mapControl?.onCreate(savedInstanceState) //Wait until the map resources are ready. mapControl?.onReady(OnReady { map: AzureMap -> }) } public override fun onStart() { super.onStart() mapControl?.onStart() } public override fun onResume() { super.onResume() mapControl?.onResume() } public override fun onPause() { mapControl?.onPause() super.onPause() } public override fun onStop() { mapControl?.onStop() super.onStop() } override fun onLowMemory() { mapControl?.onLowMemory() super.onLowMemory() } override fun onDestroy() { mapControl?.onDestroy() super.onDestroy() } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) mapControl?.onSaveInstanceState(outState) } }Poznámka
Po dokončení předchozích kroků se může zobrazit upozornění z Android Studio o některém kódu. Pokud chcete tato upozornění vyřešit, importujte třídy odkazované v
MainActivity.kt. Tyto třídy můžete automaticky importovat výběremAlt+Entermožnosti ( naOption+Returnpočítači Mac).
Vyberte tlačítko Spustit, jak je znázorněno na následujícím obrázku (nebo stiskněte
Control+Rna Macu) a sestavte aplikaci.
Sestavení aplikace bude trvat několik sekund Android Studio. Po dokončení sestavení můžete aplikaci otestovat v emulovaném zařízení se systémem Android. Měla by se zobrazit mapa, jako je tato:

Vyčištění prostředků
Upozornění
kurzy uvedené v části další kroky podrobně popisují, jak použít a nakonfigurovat Azure Maps s vaším účtem. Pokud se chystáte pokračovat v kurzech, neprovádějte čištění prostředků vytvořených v rámci tohoto rychlého startu.
Pokud neplánujete pokračovat v kurzech, proveďte tyto kroky a vyčistěte prostředky:
- Zavřete Android Studio a odstraňte aplikaci, kterou jste vytvořili.
- Pokud jste aplikaci otestovali na externím zařízení, odinstalujte ji z tohoto zařízení.
pokud neplánujete pokračovat v vývoji s Azure Maps Android SDK:
- Přejděte na stránku Azure Portal. Na hlavní stránce portálu vyberte všechny prostředky . Případně klikněte na ikonu nabídky v levém horním rohu. Vyberte Všechny prostředky.
- klikněte na účet Azure Maps. V horní části stránky klikněte na Odstranit.
- Pokud neplánujete pokračovat v vývoji aplikací pro Android, odinstalujte Android Studio.
Další příklady kódu naleznete v následujících příručkách:
- Správa ověřování v Azure Maps
- Změna stylů mapy v doplňkech Android Maps
- Přidání vrstvy symbolů
- Přidání řádkové vrstvy
- Přidání mnohoúhelníkové vrstvy
Další kroky
v tomto rychlém startu jste vytvořili účet Azure Maps a vytvořili jste ukázkovou aplikaci. Další informace o Azure Maps najdete v následujících kurzech: