In questa pagina viene descritto come configurare un progetto Android Studio in modo che utilizzi l'SDK Maps per Android senza utilizzare il modello di Google Maps descritto nella Guida rapida.
Il modello di Google Maps si configura automaticamente e aggiunge una mappa di base a un nuovo progetto di Android Studio. Tuttavia, puoi anche aggiungere una mappa a un progetto Android che utilizza un modello di Android Studio diverso. Per farlo, devi configurare manualmente il progetto e poi aggiungere la mappa.
Passaggio 1: configura Android Studio
- È necessario Android Studio Arctic Fox o versioni successive. Se non l'hai ancora fatto, scaricala e installala.
- Assicurati di utilizzare il plug-in Android per Gradle versione 7.0 o successive in Android Studio.
Passaggio 2. Configura l'SDK
L'SDK Maps per Android è disponibile tramite il repository Maven di Google. Per aggiungere l'SDK alla tua app, procedi nel seguente modo:
- Nel file
settings.gradle
di primo livello, includi il portale del plug-in Gradle, il repository Google Maven e il repository centrale Maven nel bloccopluginManagement
. Il bloccopluginManagement
deve apparire prima di qualsiasi altra istruzione nello script.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- Nel file di primo livello
settings.gradle
, includi il repository Maven di Google e il repository centrale Maven nel bloccodependencyResolutionManagement
:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- Nel file
build.gradle
a livello di modulo, aggiungi la dipendenza Google Play Services per l'SDK Maps per Android.dependencies { implementation 'com.google.android.gms:play-services-maps:18.1.0' // ... }
- Nel file
build.gradle
a livello di modulo, impostacompileSdk
eminSdk
sui seguenti valori:android { compileSdk 31 defaultConfig { minSdk 19 // ... }
Passaggio 3: aggiungi la chiave API al progetto
Questa sezione descrive come archiviare la chiave API in modo che possa essere fatto riferimento in modo sicuro dall'app. Non dovresti controllare la chiave API nel sistema di controllo della versione, quindi ti consigliamo di archiviarla nel file local.properties
, che si trova nella directory principale del progetto. Per ulteriori informazioni sul file local.properties
, consulta
File delle proprietà Gradle.
Per semplificare questa attività, ti consigliamo di utilizzare il plug-in Secrets Gradle per Android. Per installare il plug-in e archiviare la chiave API:
- In Android Studio, apri il file
build.gradle
a livello di progetto e aggiungi il codice seguente all'elementodependencies
inbuildscript
.plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
- Apri il file
build.gradle
a livello di modulo e aggiungi il codice seguente all'elementoplugins
.id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
- Salva il file e sincronizza il progetto con Gradle.
- Apri
local.properties
nella directory a livello di progetto e aggiungi il codice seguente. SostituisciYOUR_API_KEY
con la chiave API.MAPS_API_KEY=YOUR_API_KEY
- Salva il file.
- Nel file
AndroidManifest.xml
, vai acom.google.android.geo.API_KEY
e aggiornaandroid:value attribute
come segue:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Nota: come mostrato sopra, com.google.android.geo.API_KEY
è il nome consigliato
dei metadati per la chiave API. Una chiave con questo nome può essere utilizzata per eseguire l'autenticazione su più API basate su Google Maps sulla piattaforma Android, tra cui l'SDK di Maps per Android. Per la compatibilità con le versioni precedenti, l'API supporta anche il nome com.google.android.maps.v2.API_KEY
. Questo nome legacy consente l'autenticazione solo nella versione 2 dell'API Android Maps. Un'applicazione può specificare solo uno dei nomi dei metadati della chiave API. Se entrambi sono specificati, l'API genera un'eccezione.
Passaggio 4: aggiorna il file manifest dell'app
Questa sezione descrive le impostazioni da aggiungere al file AndroidManifest.xml
.
Numero di versione di Google Play Services
Aggiungi la seguente dichiarazione all'interno dell'elemento application
. Viene incorporata la versione di Google Play Services con cui è stata compilata l'app.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Autorizzazione di accesso alla posizione
Se la tua app deve accedere alla posizione dell'utente, devi richiedere l'autorizzazione di accesso alla posizione nel file AndroidManifest.xml
. Le opzioni sono ACCESS_FINE_LOCATION
, che fornisce la posizione esatta del dispositivo, e ACCESS_COARSE_LOCATION
, che è meno precisa. Per maggiori dettagli, consulta la guida relativa ai dati sulla posizione.
Per richiedere l'autorizzazione ACCESS_FINE_LOCATION
, aggiungi questo codice all'elemento manifest
:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Autorizzazione archiviazione esterna
Se hai scelto come target la versione 8.3 o successive dell'SDK Google Play Services,
non hai bisogno dell'autorizzazione WRITE_EXTERNAL_STORAGE
. Se scegli come target le versioni precedenti dell'SDK Google Play Services, devi richiedere l'autorizzazione WRITE_EXTERNAL_STORAGE nell'elemento manifest
.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Libreria Apache HTTP Legacy
Se utilizzi com.google.android.gms:play-services-maps:16.0.0
o una versione precedente e l'app ha come target il livello API 28 (Android 9.0) o versioni successive, devi includere la seguente dichiarazione all'interno dell'elemento <application>
di AndroidManifest.xml
. Altrimenti, ignora questa dichiarazione.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
Passaggio 5: configura un dispositivo Android
Per eseguire un'app che utilizza l'SDK Maps per Android, devi eseguirne il deployment su un dispositivo Android o un emulatore Android basato su Android 4.0 o versioni successive e con le API di Google.
- Per utilizzare un dispositivo Android, segui le istruzioni su come eseguire app su un dispositivo hardware.
- Per utilizzare un emulatore Android, puoi creare un dispositivo virtuale e installarlo utilizzando Android Virtual Device (AVD) Manager fornito con Android Studio.
Passaggi successivi
Dopo aver configurato il progetto, puoi aggiungere una mappa.