La versione 3.1.0 beta di Maps SDK for Android è una nuova implementazione con la stessa piattaforma API della versione precedente (tutti i corsi e i metodi rimangono invariati) e alcune nuove funzionalità da provare:
- Personalizzazione di Maps
- Gestione degli collisioni di indicatori
- Personalizzazione di polilinea
Questa guida spiega come utilizzare le nuove funzionalità.
Personalizzazione di Maps (beta)
La personalizzazione delle mappe basata su cloud offre una serie di strumenti e funzionalità che consentono di personalizzare e gestire più facilmente lo stile delle mappe. Invece di modificare la mappa nel codice utilizzando le API e gli SDK di Maps, puoi gestire e modificare lo stile delle mappe in Google Cloud Console. Per ulteriori informazioni, consulta la panoramica della personalizzazione di Android Maps.
Gestione degli indicatori di collisione (beta)
Puoi specificare se gli indicatori personalizzati devono sostituire le etichette predefinite della mappa base in caso di collisione e per indicare la priorità relativa tra gli indicatori personalizzati. Per ulteriori informazioni, consulta Marker Collision Handling (Android).
Personalizzazione di Polyline (beta)
Ora esistono diversi nuovi modi per personalizzare l'aspetto delle polilinee:
- Le polilinee multicolori impostano i segmenti polilineali in colori diversi.
- Le polilinee sfumate colorano una polilinea utilizzando un gradiente di due colori.
- polilinee fissate per applicare uno stile a una polilinea utilizzando bitmap ripetute.
Creazione di una polilinea multicolore
Puoi utilizzare le sezioni per colorare singolarmente i segmenti di una polilinea creando oggetti StyleSpan
e aggiungendoli a PolylineOptions
mediante i metodi addSpan()
o addSpans()
. Per impostazione predefinita, ogni elemento dell'array imposta il colore del segmento di linea corrispondente. L'esempio seguente mostra l'impostazione dei colori dei segmenti per creare una polilinea con segmenti rossi e verdi:
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(Color.RED)) .addSpan(new StyleSpan(Color.GREEN)));
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(StyleSpan(Color.RED)) .addSpan(StyleSpan(Color.GREEN)) )
Creazione di una polilinea gradiente
Puoi definire un gradiente specificando due numeri alfa-rosso-verde-blu (ARGB) a 32 bit
per specificare i colori di inizio e fine del tratto. Imposta questa proprietà nell'oggetto opzioni della forma chiamando PolylineOptions.addSpan()
.
L'esempio seguente mostra come creare una polilinea con gradiente da rosso a giallo da
Woodland Park Zoo a Kirkland, WA.
Java
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
Kotlin
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan( StyleSpan( StrokeStyle.gradientBuilder( Color.RED, Color.YELLOW ).build() ) ) )
Creare una polilinea stampata
Puoi impostare l'aspetto di una polilinea su una texture bitmap ricorrente. Per farlo, crea una StampStyle
di TextureStyle
, quindi imposta questa proprietà sull'oggetto delle opzioni della forma chiamando PolylineOptions.addSpan()
come mostrato qui:
Java
StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build(); StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()); map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(span));
Kotlin
val stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build() val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()) map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(span) )
Importa la libreria delle utilità compatibile con la versione beta
Se utilizzi la libreria delle API di Google Maps per Android, dovrai anche aggiornare le dipendenze del progetto per sostituire la versione esistente con quella compatibile con la versione beta seguendo questi passaggi:
- Importa la libreria di utilità compatibile con la versione beta nel tuo file
build.gradle
:implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
- Rimuovi quanto segue dalla tua
build.gradle
per rimuovere la libreria di utilità non compatibile con la versione beta:implementation 'com.google.maps.android:android-maps-utils:1.3.1'
Esegui gli esempi
Il repository Esempi di Google su GitHub include app di esempio che dimostrano l'uso dell'SDK Maps 3.1.0 beta per Android.
- SDK Maps per gli esempi Android
- SDK Places per Android (solo per l'utilizzo con Maps v3.1.0 beta)