Snabbstart: Skapa en Android-app med Azure Kartor
Den här artikeln visar hur du lägger till Azure-Kartor i en Android-app. Vi går igenom de grundläggande stegen:
- Konfigurera utvecklingsmiljön.
- Skapa ditt eget Azure Maps-konto.
- Hämta din primära Azure Kartor nyckel som ska användas i appen.
- Referera till Azure Kartor bibliotek från projektet.
- Lägg till en Azure Kartor-kontroll i appen.
Förutsättningar
- Skapa ett Azure Kartor-konto genom att logga in på Azure Portal. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- Skapa ett Azure Kartor konto
- Skaffa en primär prenumerationsnyckel, som även kallas primärnyckel eller prenumerationsnyckel. Mer information om autentisering i Azure Kartor finns i Hantera autentisering i Azure Kartor.
- Ladda Android Studio kostnadsfritt från Google.
Skapa ett Azure Maps-konto
Skapa ett nytt Azure Kartor konto med följande steg:
Klicka på Skapa en resurs längst upp till vänster i Azure Portal.
I rutan Sök på Marketplace skriver du Azure Kartor.
Från Resultat väljer du Azure Kartor. Klicka på knappen Skapa som visas nedanför kartan.
Ange följande värden på sidan Skapa Maps-konto:
- Den Prenumeration som ska användas för det här kontot.
- Namnet på Resursgrupp för kontot. Du kan välja att skapa ny eller använda befintlig resursgrupp.
- Namn för ditt nya konto.
- Prisnivån för det här kontot.
- Läs licensen och sekretesspolicy och markera kryssrutan för att godkänna villkoren.
- Klicka på knappen Skapa.
Hitta primärnyckeln för ditt konto
När ditt Kartor har skapats hämtar du den primärnyckel som gör att du kan köra frågor mot Kartor API:er.
- Öppna ditt Maps-konto i portalen.
- I avsnittet inställningar väljer du Autentisering.
- Kopiera Primärnyckel till Urklipp. Spara den lokalt för senare användning i den här självstudien.
Anteckning
Om du använder Azure-prenumerationsnyckeln i stället för Azure Kartor primärnyckel renderas inte kartan korrekt. Av säkerhetsskäl rekommenderar vi också att du roterar mellan dina primära och sekundära nycklar. Om du vill rotera nycklar uppdaterar du appen så att den använder den sekundära nyckeln, distribuerar och trycker sedan på cykel-/uppdateringsknappen bredvid den primära nyckeln för att generera en ny primärnyckel. Den gamla primärnyckeln inaktiveras. Mer information om nyckelrotation finns i Konfigurera Azure Key Vault med nyckelrotation och granskning

Skapa ett projekt i Android Studio
Skapa först ett nytt projekt med en tom aktivitet. Utför de här stegen för att skapa Android Studio projekt:
- Under Välj ditt projekt väljer du Telefon och Surfplatta. Programmet körs på den här formfaktorn.
- På fliken Telefon surfplatta väljer du Tom aktivitet och sedan Nästa.
- Under Konfigurera ditt projekt väljer du som minsta
API 21: Android 5.0.0 (Lollipop)SDK. Det här är den tidigaste versionen som stöds av Azure Kartor Android SDK. - Acceptera standardvärdet
Activity NameochLayout Namevälj Slutför.
Se dokumentationen Android Studio för mer hjälp med att installera Android Studio och skapa ett nytt projekt.

Konfigurera en virtuell enhet
Android Studio kan du konfigurera en virtuell Android-enhet på datorn. Det kan hjälpa dig att testa programmet under utvecklingen. Om du vill konfigurera en virtuell enhet väljer du ikonen Android Virtual Device (AVD) Manager i det övre högra hörnet på projektskärmen och väljer sedan Skapa virtuell enhet. Du kan också gå till AVD Manager genom att välja > Verktyg Android > AVD Manager i verktygsfältet. I kategorin Telefoner väljer du Nexus 5X och sedan Nästa.
Du kan lära dig mer om att konfigurera en AVD i Android Studio dokumentationen.

Installera Azure Kartor Android SDK
Nästa steg i att skapa ditt program är att installera Azure Kartor Android SDK. Utför de här stegen för att installera SDK:n:
Öppna filen build.gradle på den översta nivån och lägg till följande kod i blockavsnittet för alla projekt , lagringsplatsen:
maven { url "https://atlas.microsoft.com/sdk/android" }Uppdatera din app/build.gradle och lägg till följande kod i den:
Kontrollera att projektets minSdkVersion är api 21 eller högre.
Lägg till följande kod i Android-avsnittet:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }Uppdatera ditt beroendeblock och lägg till en ny implementeringsberoenderad för den senaste Azure Kartor Android SDK:
implementation "com.azure.android:azure-maps-control:1.0.0"Anteckning
Du kan ange versionsnumret till "0+" så att koden alltid pekar på den senaste versionen.
Gå till Arkiv i verktygsfältet och klicka sedan på Synkronisera Project med Gradle Files.
Lägg till ett kartfragment i huvudaktiviteten (res > > _ layout-main.xml):
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
I filen MainActivity.java måste du:
- lägga till importer för Azure Kartor SDK
- ange autentiseringsinformation Kartor Azure-server
- hämta kartkontrollinstansen i metoden onCreate
Om du anger autentiseringsinformationen för klassen globalt med metoderna eller blir den så att du inte behöver lägga till
AzureMapssetSubscriptionKeysetAadPropertiesautentiseringsinformation i varje vy.Kartkontrollen innehåller sina egna livscykelmetoder för att hantera Androids OpenGL-livscykel. Dessa livscykelmetoder måste anropas direkt från den innehållande aktiviteten. För att appen ska kunna anropa kartkontrollens livscykelmetoder korrekt måste du åsidosätta följande livscykelmetoder i den aktivitet som innehåller kartkontrollen. Och du måste anropa respektive kartkontrollmetod.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Redigera filen MainActivity.java på följande sätt:
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); }}Anteckning
När du har slutfört föregående steg kan du få varningar Android Studio om en del av koden. Lös dessa varningar genom att importera de klasser som refereras till i
MainActivity.java. Du kan importera dessa klasser automatiskt genom att väljaAlt+Enter( påOption+Returnen Mac).
I filen MainActivity.kt måste du:
- lägga till importer för Azure Kartor SDK
- ange autentiseringsinformation Kartor Azure-server
- hämta kartkontrollinstansen i metoden onCreate
Om du anger autentiseringsinformationen för klassen globalt med metoderna eller blir den så att du inte behöver lägga till
AzureMapssetSubscriptionKeysetAadPropertiesautentiseringsinformation i varje vy.Kartkontrollen innehåller sina egna livscykelmetoder för att hantera Androids OpenGL-livscykel. Dessa livscykelmetoder måste anropas direkt från den innehållande aktiviteten. För att appen ska kunna anropa kartkontrollens livscykelmetoder korrekt måste du åsidosätta följande livscykelmetoder i den aktivitet som innehåller kartkontrollen. Och du måste anropa respektive kartkontrollmetod.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Redigera filen MainActivity.kt på följande sätt:
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) } }Anteckning
När du har slutfört föregående steg kan du få varningar Android Studio om en del av koden. Lös dessa varningar genom att importera de klasser som refereras till i
MainActivity.kt. Du kan importera dessa klasser automatiskt genom att väljaAlt+Enter( påOption+Returnen Mac).
Välj körningsknappen, som du ser i följande bild (eller tryck
Control+Rpå en Mac) för att skapa ditt program.
Android Studio tar några sekunder att skapa programmet. När bygget är klart kan du testa programmet på den emulerade Android-enheten. Du bör se en karta som den här:

Rensa resurser
Varning
Självstudierna i avsnittet Nästa steg beskriver hur du använder och konfigurerar Azure Kartor med ditt konto. Rensa inte resurserna som du skapar i den här snabbstarten om du planerar att fortsätta med självstudierna.
Om du inte planerar att fortsätta med självstudierna kan du vidta följande steg för att rensa resurserna:
- Stäng Android Studio och ta bort programmet som du skapade.
- Om du har testat programmet på en extern enhet avinstallerar du programmet från den enheten.
Om du inte planerar att fortsätta utveckla med Azure Kartor Android SDK:
- Gå till Azure Portal sidan. Välj Alla resurser på huvudportalsidan. Eller klicka på menyikonen i det övre vänstra hörnet. Välj Alla resurser.
- Klicka på ditt Azure Kartor konto. Klicka på Ta bort överst på sidan.
- Om du inte planerar att fortsätta utveckla Android-appar kan du avinstallera Android Studio.
Fler kodexempel finns i dessa guider:
- Hantera autentisering i Azure Kartor
- Ändra kartformat i Android-kartor
- Lägga till ett symbolskikt
- Lägg till ett linjeskikt
- Lägg till ett polygonskikt
Nästa steg
I den här snabbstarten skapade du ditt Azure Kartor konto och ett demoprogram. Ta en titt på följande självstudier för att lära dig mer om Azure Kartor: