Utility Maps SDK for Android

Seleziona la piattaforma: Android iOS

Cerchi funzionalità avanzate da aggiungere alle tue mappe? La libreria di utilità di Maps SDK for Android è una libreria open source di classi utili per una serie di applicazioni. Il repository GitHub include le classi di utilità e un'app demo che illustra l'utilizzo di ogni classe.

In questo video Chris Broadfoot parla della libreria di utilità, con particolare attenzione alla decodifica delle poliline, alla geometria sferica e alle icone a forma di bolla.

Impostazione rapida

Per installare la libreria di utilità di Maps SDK for Android, segui la guida alla configurazione.

Le utilità

Una mappa con un livello GeoJSON

Importa GeoJSON sulla tua mappa

Puoi archiviare gli elementi in formato GeoJSON e utilizzare questa utilità per visualizzarli come un livello sopra una mappa. Chiama addLayer() per aggiungere i tuoi dati GeoJSON alla mappa. Puoi anche aggiungere singole caratteristiche chiamando addFeature(), passando un oggetto GeoJsonFeature.

Per maggiori dettagli, consulta la documentazione nell'utilità GeoJSON per Android di Google Maps.

Una mappa con un livello KML

Importa file KML sulla mappa

Con questa utilità, puoi convertire oggetti KML in forme geografiche e eseguirne il rendering come un livello sopra una mappa. Chiama addLayerToMap() per aggiungere il tuo livello alla mappa. Puoi accedere alle proprietà di un oggetto KML richiamando getProperties() su qualsiasi segnaposto, GroundOverlay, Documento o cartella.

Per maggiori dettagli, consulta la documentazione sull'utilità KML per Android di Google Maps.

Una mappa con una mappa termica

Aggiungere mappe termiche alla mappa

Le mappe termiche consentono agli utenti di comprendere facilmente la distribuzione e l'intensità relativa dei punti dati su una mappa. Anziché posizionare un indicatore in ogni posizione, le mappe termiche utilizzano il colore e la forma per rappresentare la distribuzione dei dati. Crea un elemento HeatmapTileProvider, trasmettendogli una raccolta di oggetti LatLng che rappresentano i punti d'interesse sulla mappa. Quindi crea un nuovo TileOverlay, passagli il fornitore di riquadri della mappa termica e aggiungi l'overlay del riquadro alla mappa.

Per maggiori dettagli, consulta la documentazione su Utilità mappa Android di Google Maps.

Una mappa con icone a bolle

Personalizza gli indicatori tramite icone a bolle

Aggiungi un IconGenerator per visualizzare snippet di informazioni sugli indicatori. Questa utilità offre un modo per rendere le icone degli indicatori un po' come una finestra informativa, in quanto l'indicatore stesso può contenere testo e altri contenuti. Il vantaggio è che puoi tenere aperti più indicatori contemporaneamente, mentre è possibile aprire una sola finestra informativa alla volta. Puoi anche applicare uno stile agli indicatori, modificare l'orientamento dell'indicatore e/o dei contenuti e cambiare l'immagine di sfondo/nove-patch dell'indicatore.

Una mappa con indicatori raggruppati

Gestisci cluster di indicatori

ClusterManager consente di gestire più indicatori a diversi livelli di zoom. Ciò significa che puoi posizionare un gran numero di indicatori su una mappa senza renderla difficile da leggere. Quando un utente visualizza la mappa a un livello di zoom elevato, i singoli indicatori vengono visualizzati sulla mappa. Quando l'utente riduce lo zoom a un livello di zoom inferiore, gli indicatori vengono riuniti in cluster, per facilitare la visualizzazione della mappa.

Per maggiori dettagli, consulta la documentazione sull'utilità di clustering degli indicatori di Google Maps per Android.

Una mappa con più livelli

Aggiungere più livelli alla stessa mappa

Puoi visualizzare elementi da GeoJSON, KML e cluster, oltre ai tuoi indicatori, polilinee e poligoni, il tutto sulla stessa mappa. Questi livelli possono essere resi interattivi anche aggiungendo un listener di clic a ciascun livello. È sufficiente creare un'istanza delle classi MarkerManager, GroundOverlayManager, PolygonManager e PolylineManager e trasmetterle ai costruttori di GeoJsonLayer, KmlLayer, ClusterManager al momento della configurazione. Successivamente, puoi utilizzare le classi Manager precedenti direttamente per aggiungere indicatori, polilinee e poligoni alla mappa.

Per i dettagli, consulta la documentazione sulla demo multilivello per Android di Google Maps.

Una mappa con una polilinea codificata

Codifica e decodifica delle polilinee

PolyUtil è utile per convertire polilinee e poligoni codificati in coordinate di latitudine/longitudine e viceversa.

In Google Maps, le coordinate di latitudine e longitudine che definiscono una polilinea o un poligono sono memorizzate come stringa codificata. Vedi la spiegazione dettagliata della codifica della polilinea. Potresti ricevere questa stringa codificata in una risposta da un'API di Google, ad esempio l'API Directions.

Puoi utilizzare PolyUtil nella libreria di utilità di Maps SDK for Android per codificare una sequenza di coordinate di latitudine/longitudine ("LatLngs") in una stringa di percorso codificata e per decodificare una stringa di percorso codificata in una sequenza di LatLng. Ciò garantirà l'interoperabilità con i servizi web delle API di Google Maps.

Distanza calcolata tra due punti su una mappa

Calcola distanze, aree e intestazioni tramite la geometria sferica

Con le utilità di geometria sferica in SphericalUtil, puoi calcolare distanze, aree e intestazioni in base a latitudini e longitudini. Ecco alcuni dei metodi disponibili nell'utilità:

  • computeDistanceBetween() – Restituisce la distanza, in metri, tra due coordinate di latitudine/longitudine.
  • computeHeading() – Restituisce il rilevamento, in gradi, tra due coordinate di latitudine/longitudine.
  • computeArea(): restituisce l'area, in metri quadrati, di un percorso chiuso sulla Terra.
  • interpolate() – Restituisce le coordinate di latitudine/longitudine di un punto che corrisponde a una data frazione della distanza tra due punti dati. Puoi utilizzarlo, ad esempio, per animare un indicatore tra due punti.

Consulta la documentazione di riferimento per un elenco completo dei metodi nell'utilità.

Controllare se una località è supportata in Street View

Controlla se una località è supportata in Street View.

La classe StreetViewUtil fornisce la funzionalità per verificare se una località è supportata in Street View. Per evitare errori quando aggiungi un panorama di Street View a un'app per Android, chiama questa utilità per i metadati e aggiungi un panorama di Street View solo se la risposta è OK.

Per maggiori dettagli, consulta la documentazione nell'utilità per i metadati di Street View su GitHub.