La versione 3.1.0 beta di Maps SDK for Android è una nuova implementazione con la stessa piattaforma API della versione precedente (tutte le classi e i metodi rimangono invariati) e alcune nuove funzionalità che puoi provare:
- Personalizzazione di Maps
- Gestione della collisione degli indicatori
- Personalizzazione di poliline
Questa guida illustra come utilizzare le nuove funzionalità.
Personalizzazione di Maps (beta)
La personalizzazione delle mappe basata su cloud offre una varietà di strumenti e funzionalità che consentono di personalizzare e gestire più facilmente gli stili delle mappe. Anziché definire lo stile della mappa nel codice utilizzando le API e gli SDK di Google Maps, puoi gestire le tue mappe e definire gli stili nella console Google Cloud. Per ulteriori informazioni, consulta la sezione Panoramica della personalizzazione delle mappe Android.
Gestione della collisione degli indicatori (beta)
Puoi specificare se gli indicatori personalizzati devono sostituire le etichette predefinite della mappa base in caso di conflitto e indicare la priorità relativa tra indicatori personalizzati. Per ulteriori informazioni, consulta la sezione Gestione della collisione tra indicatori (Android).
Personalizzazione di Polyline (beta)
Ora esistono diversi nuovi modi per personalizzare l'aspetto delle polilinee:
- Le polilinee multicolore impostano i segmenti di polilinea su colori diversi.
- Le polilinee di sfumatura colorano una polilinea utilizzando una sfumatura di due colori.
- Polilinee stampate applica uno stile a una polilinea utilizzando le 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
con i metodi addSpan()
o addSpans()
. Per impostazione predefinita, ogni elemento dell'array imposta il colore
del segmento pubblicitario corrispondente. Nell'esempio seguente viene illustrato l'impostazione dei colori del segmento per creare una polilinea con segmenti rossi e verdi:
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)) )
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)));
Creazione di una polilinea del gradiente
Puoi definire un gradiente specificando due interi a 32 bit alpha-rosso-verde-blu (ARGB)
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 la creazione di una polilinea con gradiente rosso-giallo dal Woodland Park Zoo a Kirkland, WA.
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() ) ) )
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())));
Creazione di una polilinea stampata
Puoi impostare l'aspetto di una polilinea su una texture bitmap ricorrente. A questo scopo, crea un valore StampStyle
di TextureStyle
, quindi imposta questa proprietà nell'oggetto opzioni della forma chiamando PolylineOptions.addSpan()
, come mostrato di seguito:
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) )
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));
Importa la libreria di utilità compatibili con beta
Se utilizzi la libreria di utilità dell'API Android di Google Maps, dovrai anche aggiornare le dipendenze del progetto per sostituire la versione esistente con la versione compatibile con la versione beta:
- Importa la libreria util compatibile con la versione beta nel file
build.gradle
:implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
- Rimuovi quanto segue da
build.gradle
per rimuovere la libreria di utilità non compatibili con beta:implementation 'com.google.maps.android:android-maps-utils:1.3.1'
Esegui gli esempi
Il repository di Google Samples su GitHub include app di esempio che dimostrano l'utilizzo dell'SDK Maps for Android v3.1.0 beta.
- Esempi di Maps SDK for Android
- Esempi di SDK Places per Android (solo per l'utilizzo con Maps v3.1.0 beta)