Google Maps SDK for Android Utility Library

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Seleziona piattaforma: Android iOS

Stai cercando funzionalità avanzate da aggiungere alle tue mappe? Maps SDK for Android Utility Library è una libreria open source di corsi utili per una serie di applicazioni. Il repository GitHub include le classi di utilità e un'app demo che illustra l'uso di ciascuna classe.

In questo video, Chris Broadfoot discute della libreria di utilità, con particolare attenzione alla decodifica polilinea, alla geometria sferica e alle icone a bolle.

Impostazione rapida

Per installare l'SDK Maps per Android Utility Library, segui la guida alla configurazione.

Utilità

Una mappa con un livello GeoJSON

Importare GeoJSON sulla mappa

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

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

Una mappa con un livello KML

Importare i file KML sulla mappa

Tramite questa utilità puoi convertire gli oggetti KML in forme geografiche e visualizzarli sotto forma di livello sopra una mappa. Chiama addLayerToMap() per aggiungere il tuo livello alla mappa. Puoi accedere alle proprietà in un oggetto KML chiamando getProperties() su qualsiasi segnaposto, sovrapposizione al suolo, documento o cartella.

Per i dettagli, consulta la documentazione sull'Utilità KML Android di Google Maps.

Una mappa con una mappa termica

Aggiungi mappe termiche alla mappa

Le mappe termiche consentono ai visualizzatori di comprendere facilmente la distribuzione e l'intensità relativa dei punti dati su una mappa. Invece di posizionare un indicatore in corrispondenza di ciascuna posizione, le mappe termiche utilizzano il colore e la forma per rappresentare la distribuzione dei dati. Crea un elemento HeatmapTileProvider, trasmettendolo una raccolta di oggetti LatLng che rappresentano i punti di interesse sulla mappa. Quindi crea una nuova TileOverlay, passando il relativo fornitore della mappa termica e aggiungi l'overlay del riquadro alla mappa.

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

Una mappa con le icone di un fumetto

Personalizza gli indicatori tramite le icone a bolle

Aggiungi un elemento IconGenerator per visualizzare snippet di informazioni sui tuoi indicatori. Questa utilità offre un modo per far sembrare le icone degli indicatori un po' come le finestre informative, in quanto l'indicatore stesso può contenere testo e altri contenuti. Il vantaggio è che puoi tenere aperto più di un indicatore alla volta, mentre può essere aperta una sola finestra informativa alla volta. Puoi anche modificare lo stile degli indicatori, modificarne l'orientamento e/o i contenuti, nonché cambiare l'immagine di sfondo dell'indicatore e/o le nove patch.

Una mappa con indicatori in cluster

Gestire i cluster di indicatori

L'ClusterManager ti aiuta a gestire più indicatori a diversi livelli di zoom. Ciò significa che puoi inserire un numero elevato di indicatori in una mappa senza renderla di difficile lettura. Quando un utente visualizza la mappa a un livello di zoom elevato, vengono visualizzati i singoli indicatori. Quando l'utente diminuisce lo zoom a un livello inferiore, gli indicatori vengono raccolti in cluster per semplificare la visualizzazione della mappa.

Per i dettagli, consulta la documentazione dell'utilità di clustering di indicatori Android di Google Maps.

Una mappa con più livelli

Aggiungere più livelli alla stessa mappa

Puoi visualizzare le funzionalità di GeoJSON, KML e cluster, nonché i tuoi indicatori, polilinee e poligoni, tutti sulla stessa mappa. Questi livelli possono essere resi interattivi anche aggiungendo un listener di clic a ogni livello. Crea un'istanza delle classi MarkerManager, GroundOverlayManager, PolygonManager e PolylineManager e inseriscile nei costruttori di GeoJsonLayer, KmlLayer, ClusterManager quando le configuri. Puoi quindi utilizzare le classi Manager sopra riportate direttamente per aggiungere i tuoi indicatori, polilinee e poligoni alla mappa.

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

Una mappa con una polilinea codificata

Codificare e decodificare le polilinee

PolyUtil è utile per convertire le polilinee e i 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 vengono memorizzate come stringa codificata. Consulta la spiegazione dettagliata della codifica in polilinea. Potresti ricevere questa stringa codificata in una risposta da un'API di Google, come l'API Directions.

Puoi utilizzare PolyUtil nell'SDK di Maps per Android Utility Library 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 geometria sferica

Utilizzando le utilità geometriche a sfera in SphericalUtil, puoi calcolare distanze, aree e intestazioni in base a latitudini e longitudini. Ecco alcuni 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 e longitudine di un punto che si trova a una determinata frazione della distanza tra due punti. Puoi utilizzarlo per animare un indicatore tra due punti, ad esempio.

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