Le mappe sono rappresentate nell'API dalla classe GMSMapView
, una
della sottoclasse UIView
. La mappa è l'oggetto più significativo nella
Maps SDK for iOS e fornisce i metodi necessari per aggiungere e rimuovere
e la gestione di altri oggetti come indicatori e polilinee.
Introduzione
Maps SDK for iOS consente di visualizzare una mappa Google in la tua applicazione iOS. Queste mappe hanno lo stesso aspetto delle mappe che vedi in il Google Maps app per iOS e l'SDK espone molte delle stesse funzionalità.
Oltre alla funzionalità di mappatura, l'API supporta anche una serie interazioni coerenti con il modello di UI di iOS. Ad esempio, puoi impostare aumentare le interazioni con una mappa definendo chi risponde che reagisce ai gesti dell'utente, ad esempio tocco e doppio tocco.
La classe chiave quando si lavora con un oggetto Map è la classe GMSMapView
.
GMSMapView
gestisce automaticamente le seguenti operazioni:
- Connessione al servizio Google Maps in corso.
- Download dei riquadri della mappa in corso...
- Visualizzazione dei riquadri sullo schermo del dispositivo.
- Visualizzazione di vari controlli, ad esempio panoramica e zoom.
- Rispondere ai gesti di panoramica e zoom spostando la mappa e aumentando o diminuendo lo zoom.
- La risposta ai gesti con due dita inclina l'angolo di visione del mappa.
Oltre a queste operazioni automatiche, puoi controllare il comportamento e
dell'aspetto della mappa attraverso le proprietà e i metodi esposti
GMSMapView
corso. GMSMapView
ti consente di aggiungere e rimuovere indicatori, terra
di overlay e polilinee, cambiare il tipo di mappa visualizzata e controllare
ciò che viene mostrato sulla mappa tramite GMSCameraPosition
.
Crea mappe con SwiftUI
SwiftUI offre un ulteriore modo per creare UI utilizzando un approccio dichiarativo. Tu indica a SwiftUI l'aspetto della vista insieme a tutti i diversi stati e il sistema fa il resto. SwiftUI gestisce l'aggiornamento della vista in qualsiasi momento lo stato sottostante cambia a causa di un evento o di un'azione dell'utente.
Maps SDK for iOS è basato su UIKit
e non fornisce un
Visualizzazione compatibile con SwiftUI. Per aggiungere mappe in SwiftUI devi rispettare
UIViewRepresentable
o UIViewControllerRepresentable
. Per saperne di più, consulta
Codelab sull'aggiunta di una mappa alla tua app per iOS con
SwiftUI.
Aggiunta di una mappa
I passaggi di base per l'aggiunta di una mappa sono:
Per ottenere l'SDK, ottenere una chiave API e aggiungere i framework richiesti, segui i passaggi in:
Nel tuo
AppDelegate
, fornisci la chiave API aprovideAPIKey:
class suGMSServices
.Crea o aggiorna un
ViewController
. Se la mappa viene visualizzata quando view controller diventa visibile, assicurati di crearlo all'internoviewDidLoad
.Durante l'inizializzazione della visualizzazione mappa, imposta le opzioni di configurazione con
GMSMapViewOptions
. Le proprietà includonoframe
,camera
,mapID
,backgroundColor
oscreen
.Imposta la proprietà
camera
delle opzioni di mappa con unGMSCameraPosition
oggetto. Questa specifica il livello di zoom e centro del la mappa.Crea e crea un'istanza per un corso
GMSMapView
utilizzandoGMSMapView
Metodooptions:
. Se questa mappa deve essere utilizzata come controller di sola visualizzazione, l'opzione mappaframe
valore predefinitoCGRectZero
può essere utilizzata come vistaframe
: la mappa viene ridimensionata automaticamente.Imposta l'oggetto
GMSMapView
come vista del controller di visualizzazione. Ad esempio:self.view = mapView;
.
L'esempio riportato di seguito aggiunge a un'app una mappa, centrata nel centro di Singapore.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
Una volta eseguiti questi passaggi, potrai configurare ulteriormente GMSMapView
.
Passaggi successivi
Dopo aver completato questi passaggi, puoi configurare la mappa impostazioni.