Quickstart: een Android-app maken met Azure Maps
In dit artikel wordt beschreven hoe u Azure Maps kunt toevoegen aan een Android-app. U wordt door de volgende basisstappen geleid:
- De ontwikkelomgeving instellen.
- Uw eigen Azure Maps-account maken.
- De primaire Azure Maps-sleutel voor gebruik in de app ophalen.
- De Azure Maps-bibliotheken vanuit het project raadplegen.
- Een Azure Maps-besturingselement aan de app toevoegen.
Vereisten
- Maak een Azure Maps-account door u aan te melden bij de Azure-portal. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
- Een Azure Maps-account maken
- Een primaire sleutel voor een abonnement verkrijgen, ook wel bekend als de primaire sleutel of de abonnementssleutel. Zie Verificatie beheren in Azure Maps voor meer informatie over verificatie in Azure Maps.
- Download Android Studio gratis van Google.
Een Azure Maps-account maken
Voer de volgende stappen uit om een nieuw Azure Maps-account te maken:
Klik in de linkerbovenhoek van Azure Portal op Een resource maken.
Typ Azure Maps in het vak Marketplace doorzoeken.
Selecteer Azure Maps in de Resultaten. Klik op de knop Maken die onder de kaart wordt weergegeven.
Voer de volgende waarden in op de pagina Azure Kaarten-account maken:
- Het Abonnement dat u wilt gebruiken voor dit account.
- De naam van de Resourcegroep voor dit account. U kunt kiezen om een Nieuwe of Bestaande resourcegroep te gebruiken.
- De Naam van uw nieuwe account.
- De Prijscategorie voor dit account.
- Lees de licentie en de privacyverklaring, en schakel het selectievakje in om de voorwaarden te accepteren.
- Klik op de knop Maken.
De primaire sleutel voor uw account ophalen
Als het Azure Kaarten-account is gemaakt, haalt u de primaire sleutel op waarmee u query's kunt uitvoeren op de API's van kaarten.
- Open uw Maps-account in de portal.
- Selecteer Verificatie in de sectie Instellingen.
- Kopieer de Primaire Sleutel naar het Klembord. Sla de sleutel lokaal op voor gebruik verderop in deze zelfstudie.
Notitie
Als u de Azure-abonnementssleutel gebruikt in plaats van de primaire Azure Maps-sleutel, wordt uw kaart niet juist weergegeven. Bovendien wordt om veiligheidsredenen aanbevolen dat u roteert tussen de primaire en secundaire sleutel. Als u sleutels wilt roteren, werkt u de app bij om de secundaire sleutel te gebruiken. Vervolgens implementeert u en drukt u op de knop voor cyclus/vernieuwen naast de primaire sleutel om een nieuwe primaire sleutel te genereren. De oude primaire sleutel wordt uitgeschakeld. Zie Azure Key Vault instellen met wisselen en controleren van sleutels voor meer informatie over het roteren van sleutels

Een project maken in Android Studio
Maak eerst een nieuw project met een lege activiteit. Voer de volgende stappen uit om een Android Studio-project te maken:
- Bij Project kiezen selecteert u Telefoon en tablet. Uw toepassing wordt uitgevoerd op deze formulierfactor.
- Op het tabblad Lege activiteit selecteert u Project kiezen en vervolgens Volgende.
- Bij Project configureren selecteert u
API 21: Android 5.0.0 (Lollipop)als de minimum SDK. Dit is de oudste versie die wordt ondersteund door de Azure Maps Android SDK. - Accepteer de standaardnamen
Activity NameenLayout Nameen selecteer Voltooien.
Raadpleeg de Android Studio documentation (Android Studio-documentatie) voor meer informatie over het installeren van Android Studio en het maken van een nieuw project.

Een virtueel apparaat instellen
Met Android Studio kunt u een virtueel Android-apparaat op uw computer instellen. Dit kan u helpen bij het testen van uw toepassing tijdens de ontwikkeling. Als u een virtueel apparaat wilt instellen, selecteert u het AVD-Manager-pictogram (Android Virtual Device) in de rechter bovenhoek van het projectvenster en selecteert u Virtueel apparaat maken. U kunt ook toegang krijgen tot AVD Manager door Hulpmiddelen > Android > AVD Manager op de werkbalk te selecteren. In de categorie Telefoons selecteert u Nexus 5X en vervolgens Volgende.
Meer informatie over het instellen van een AVD vindt u in de Android Studio-documentation (Android Studio-documentatie).

De Azure Maps Android SDK installeren
De volgende stap bij het bouwen van uw toepassing betreft het installeren van de Azure Maps Android SDK. Volg deze stappen om de SDK te installeren:
Open het bestand build.gradle op het hoogste niveau en voeg de volgende code toe aan de bloksectie all projects, repositories:
maven { url "https://atlas.microsoft.com/sdk/android" }Werk uw app/build.gradle bij en voeg de volgende code eraan toe:
Zorg ervoor dat de minSdkVersion van uw project API 21 of hoger is.
Voeg de volgende code toe aan de Android-sectie:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }Werk uw afhankelijkhedenblok bij en voeg een nieuwe implementatieafhankelijkheidsregel toe voor de nieuwste Azure Maps Android SDK:
implementation "com.azure.android:azure-maps-control:1.0.0"Notitie
U kunt het versienummer wijzigen in 0+ zodat uw code altijd naar de nieuwste versie verwijst.
Ga op de werkbalk naar Bestand en klik vervolgens op Project met Gradle-bestanden synchroniseren.
Voeg een kaartfragment toe aan de hoofdactiviteit (res > layout > activity_main.xml):
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
In het bestand MainActivity.java moet u het volgende doen:
- imports voor de Azure Maps SDK toevoegen
- de Azure Maps-verificatiegegevens instellen
- het exemplaar van het kaartbesturingselement ophalen in de methode onCreate
Als u de verificatiegegevens voor de klasse
AzureMapsglobaal instelt met behulp van de methodesetSubscriptionKeyofsetAadProperties, is het niet nodig om uw verificatiegegevens toe te voegen aan elke weergave.Het kaartbesturingselement bevat eigen levenscyclusmethoden voor het beheren van de OpenGL-levenscyclus van Android. Deze levenscyclusmethoden moeten rechtstreeks vanuit de opgenomen activiteit worden aangeroepen. U moet de volgende levenscyclusmethoden overschrijven in de activiteit die het kaartbesturingselement bevat zodat de app de levenscyclusmethoden van het kaartbesturingselement correct kan aanroepen. En u dient de desbetreffende kaartbeheermethode aan te roepen.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Bewerk het bestand MainActivity.java als volgt:
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); }}Notitie
Nadat u de voorgaande stappen hebt voltooid, krijgt u mogelijk waarschuwingen van Android Studio over een deel van de code. Als u deze waarschuwingen wilt oplossen, importeert u de klassen waarnaar wordt verwezen in
MainActivity.java. U kunt deze klassen automatisch importeren doorAlt+Enterte selecteren (Option+Returnop een Mac).
In het bestand MainActivity.kt moet u het volgende doen:
- imports voor de Azure Maps SDK toevoegen
- de Azure Maps-verificatiegegevens instellen
- het exemplaar van het kaartbesturingselement ophalen in de methode onCreate
Als u de verificatiegegevens voor de klasse
AzureMapsglobaal instelt met behulp van de methodesetSubscriptionKeyofsetAadProperties, is het niet nodig om uw verificatiegegevens toe te voegen aan elke weergave.Het kaartbesturingselement bevat eigen levenscyclusmethoden voor het beheren van de OpenGL-levenscyclus van Android. Deze levenscyclusmethoden moeten rechtstreeks vanuit de opgenomen activiteit worden aangeroepen. U moet de volgende levenscyclusmethoden overschrijven in de activiteit die het kaartbesturingselement bevat zodat de app de levenscyclusmethoden van het kaartbesturingselement correct kan aanroepen. En u dient de desbetreffende kaartbeheermethode aan te roepen.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
Bewerk het bestand MainActivity.kt als volgt:
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) } }Notitie
Nadat u de voorgaande stappen hebt voltooid, krijgt u mogelijk waarschuwingen van Android Studio over een deel van de code. Als u deze waarschuwingen wilt oplossen, importeert u de klassen waarnaar wordt verwezen in
MainActivity.kt. U kunt deze klassen automatisch importeren doorAlt+Enterte selecteren (Option+Returnop een Mac).
Selecteer de uitvoerknop, zoals weergegeven in de volgende afbeelding (of druk op
Control+Rop een Mac) om uw toepassing te bouwen.
Na enkele seconden wordt begonnen met het bouwen van de toepassing. Nadat de build is voltooid, kunt u de toepassing testen in het geƫmuleerde Android-apparaat. U krijgt een kaart te zien zoals deze:

Resources opschonen
Waarschuwing
In de zelfstudies in de sectie Volgende stappen vindt u gedetailleerde informatie over het gebruik en de configuratie van Azure Maps met uw account. Als u wilt doorgaan met de zelfstudies, verwijder de resources die u in deze quickstart hebt gemaakt dan niet.
Als u niet van plan bent om door te gaan naar de zelfstudies, voert u deze stappen uit voor het opschonen van de resources:
- Sluit Android Studio en verwijder de toepassing die u hebt gemaakt.
- Als u de toepassing op een extern apparaat hebt getest, verwijdert u de toepassing van dat apparaat.
Ga als volgt te werk als u niet wilt door gaan met ontwikkelen met de Azure Maps Android SDK:
- Navigeer naar de Azure-portalpagina. Selecteer Alle resources op de hoofdpagina van de portal. Of klik op het menupictogram in de linkerbovenhoek. Selecteer Alle resources.
- Klik op uw Azure Maps-account. Klik bovenaan de pagina op Verwijderen.
- Als u niet wilt doorgaan met ontwikkelen van Android-apps, kunt u desgewenst Android Studio verwijderen.
Zie de volgende handleidingen voor meer codevoorbeelden:
- Verificatie in Azure Maps beheren
- Kaartstijlen wijzigen in Android-kaarten
- Een symboollaag toevoegen
- Een lijnlaag toevoegen
- Een polygoonlaag toevoegen
Volgende stappen
In deze quickstart hebt u een Azure Maps-account en een demo-toepassing gemaakt. Bekijk de volgende zelfstudies voor meer informatie over Azure Maps: