In questa pagina viene descritto come configurare un progetto Android Studio per utilizzare l'SDK Maps per Android senza usare 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 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 lo hai già fatto, scaricalo e installalo.
- Assicurati di utilizzare il plug-in Android per Gradle 7.0 o versioni successive in Android Studio.
Passaggio 2. Configura l'SDK
L'SDK Maps per Android è disponibile nel repository Maven di Google. Per aggiungere l'SDK alla tua app, procedi nel seguente modo:
- Nel file di primo livello
settings.gradle
, 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 di 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 sia possibile farvi riferimento in modo sicuro dalla tua 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à di 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 }
- Quindi, apri il file
build.gradle
a livello di modulo e aggiungi il seguente codice all'elementoplugins
.id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
- Salva il file e sincronizza il tuo progetto con Gradle.
- Apri
local.properties
nella directory a livello di progetto e aggiungi il codice seguente. SostituisciYOUR_API_KEY
con la tua 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 di metadati consigliato 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, incluso l'SDK 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 soltanto nella versione 2 dell'API Android Maps. Un'applicazione può specificare solo uno dei nomi di metadati della chiave API. Se entrambi sono specificati, l'API genera un'eccezione.
Passaggio 4: aggiorna il file manifest dell'app
In questa sezione vengono descritte le impostazioni da aggiungere al file
AndroidManifest.xml
.
Numero di versione di Google Play Services
Aggiungi la dichiarazione seguente all'elemento application
. In questo modo è 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 informazioni dettagliate, consulta la guida sui 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 per lo spazio di archiviazione esterno
Se scegli 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 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 legacy HTTP Apache
Se utilizzi com.google.android.gms:play-services-maps:16.0.0
o versioni precedenti e la tua app ha il livello API target 28 (Android 9.0) o versioni successive, devi includere la seguente dichiarazione nell'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 nell'emulatore Android basato su Android 4.0 o versioni successive e che include 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 installare l'emulatore utilizzando Android Virtual Device (AVD) Manager fornito con Android Studio.
Passaggi successivi
Dopo aver configurato il progetto, puoi aggiungere una mappa.