Utility Maps SDK for Android

Seleziona la piattaforma: Android iOS

Stai cercando 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 un focus su decodifica delle polilinee, geometria sferica e icone a bolle.

Configurazione 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

Importare GeoJSON nella mappa

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

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

Una mappa con un livello KML

Importare KML nella mappa

Con questa utility puoi convertire gli oggetti KML in forme geografiche e visualizzarli come livello sulla parte superiore di una mappa. Chiama addLayerToMap() per aggiungere il livello alla mappa. Puoi accedere alle proprietà in un oggetto KML chiamando getProperties() su qualsiasi segnaposto, overlay del terreno, documento o cartella.

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

Una mappa con una mappa termica

Aggiungere mappe di calore alla mappa

Le mappe termiche consentono agli spettatori di comprendere facilmente la distribuzione e l'intensità relativa dei punti dati su una mappa. Anziché posizionare un indicatore in ogni località, le mappe termiche utilizzano il colore e la forma per rappresentare la distribuzione dei dati. Crea un HeatmapTileProvider, passandogli una raccolta di oggetti LatLng che rappresentano i punti di interesse sulla mappa. Poi crea un nuovo TileOverlay, passandogli il provider di riquadri della mappa di calore e aggiungi il riquadro in overlay alla mappa.

Per maggiori dettagli, consulta la documentazione relativa all'utilità Heatmap di Google Maps per Android.

Una mappa con icone a forma di bolla

Personalizzare gli indicatori tramite icone con bolle

Aggiungi un IconGenerator per visualizzare snippet di informazioni sui tuoi indicatori. Questa utility consente di rendere le icone degli indicatori simili alle finestre di informazioni, 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 degli indicatori e/o dei contenuti e modificare l'immagine di sfondo/nine-patch dell'indicatore.

Una mappa con indicatori raggruppati

Gestire i cluster di indicatori

Il pulsante ClusterManager ti consente di gestire più indicatori su diversi livelli di zoom. Ciò significa che puoi inserire un numero elevato di indicatori su una mappa senza che sia difficile da leggere. Quando un utente visualizza la mappa con un livello di zoom elevato, i singoli indicatori vengono visualizzati sulla mappa. Quando l'utente diminuisce lo zoom, gli indicatori si raggruppano in cluster per facilitare la visualizzazione della mappa.

Per maggiori dettagli, consulta la documentazione relativa all'utilità di raggruppamento degli indicatori Android di Google Maps.

Una mappa con più livelli

Aggiungere più livelli alla stessa mappa

Puoi mostrare elementi di GeoJSON, KML e cluster, nonché i tuoi indicatori, le tue polilinee e i tuoi poligoni, tutti nella stessa mappa. Questi livelli possono anche essere resi interattivi aggiungendo un gestore degli eventi di clic a ogni livello. È sufficiente creare istanze delle classi MarkerManager, GroundOverlayManager, PolygonManager e PolylineManager e passarle ai costruttori di GeoJsonLayer, KmlLayer, ClusterManager durante la configurazione. Puoi quindi utilizzare direttamente le classi Manager riportate sopra per aggiungere alla mappa i tuoi indicatori, polilinee e poligoni.

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

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 un polilinea o un poligono vengono memorizzate come stringa codificata. Consulta la spiegazione dettagliata della codifica dei polyline. Potresti ricevere questa stringa codificata in una risposta da un'API Google, come l'API Directions (legacy).

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

Distanza calcolata tra due punti su una mappa

Calcolare distanze, aree e terne di orientamento tramite geometria sferica

Utilizzando le utilità di geometria sferica in SphericalUtil, puoi calcolare distanze, aree e angoli in base a latitudini e longitudini. Di seguito sono riportati alcuni dei metodi disponibili nell'utilità:

  • computeDistanceBetween(): restituisce la distanza in metri tra due coordinate di latitudine/longitudine.
  • computeHeading(): restituisce la direzione, 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 si trova a una determinata frazione della distanza tra due punti dati. Ad esempio, puoi utilizzarlo per animare un indicatore tra due punti.

Per un elenco completo dei metodi dell'utilità, consulta la documentazione di riferimento.

Verificare 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. Puoi evitare errori quando aggiungi un panorama di Street View a un'app per Android chiamando questa utility per i metadati e aggiungendo un panorama di Street View solo se la risposta è OK.

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