Aggiungere una mappa con un indicatore
Questo tutorial mostra come aggiungere una mappa Google alla tua app per iOS. La mappa include un indicatore, chiamato anche segnaposto, per indicare una località specifica.
Ricezione del codice
Clona o scarica il repository repository Google Maps per iOS da GitHub.
Configurazione del progetto di sviluppo
Per installare l'SDK Maps per iOS procedi nel seguente modo:
- Scarica e installa Xcode 13.0 o versioni successive.
- Se non hai ancora CocoaPods,
installalo su macOS eseguendo questo comando dal terminale:
sudo gem install cocoapods
- Clona o scarica il repository esempi di Google Maps per iOS.
- Vai alla directory
tutorials/map-with-marker
. - Esegui il comando
pod install
. Verranno installate le API specificate inPodfile
, insieme a eventuali dipendenze. - Esegui
pod outdated
per confrontare la versione del pod installata con nuovi aggiornamenti. Se viene rilevata una nuova versione, eseguipod update
per aggiornarePodfile
e installare l'SDK più recente. Per ulteriori dettagli, consulta la CocoaPods Guide. - Apri (con un doppio clic) il file map-with-placeholder.xcworkspace del progetto per aprirlo in Xcode. Devi utilizzare il file
.xcworkspace
per aprire il progetto.
Ottenere una chiave API e abilitare le API necessarie
Per completare questo tutorial, hai bisogno di una chiave API di Google autorizzata a utilizzare l'SDK Maps per iOS. Fai clic sul pulsante sotto per ottenere una chiave e attiva l'API.
IniziaPer maggiori dettagli, consulta la pagina Ottenere una chiave API.
Aggiungi la chiave API alla tua applicazione
Aggiungi la chiave API al tuo AppDelegate.swift
come segue:
- Tieni presente che è stata aggiunta la seguente istruzione di importazione al file:
import GoogleMaps
- Modifica la seguente riga nel metodo
application(_:didFinishLaunchingWithOptions:)
, sostituendo YOUR_API_KEY con la chiave API:GMSServices.provideAPIKey("YOUR_API_KEY")
Creare ed eseguire la tua app
- Collega un dispositivo iOS al computer oppure seleziona un simulatore dal menu popup dello schema Xcode.
- Se utilizzi un dispositivo, assicurati che i servizi di geolocalizzazione siano abilitati. Se utilizzi un simulatore, seleziona una posizione dal menu Funzionalità.
- In Xcode, fai clic sull'opzione di menu Product/Run (Prodotto/Esegui) o sull'icona del pulsante di riproduzione.
- Xcode crea l'app, quindi la esegue sul dispositivo o sul simulatore.
- Dovresti vedere una mappa con un indicatore centrato su Sydney, sulla costa orientale dell'Australia, simile all'immagine in questa pagina.
Risoluzione dei problemi:
- Se non vedi la mappa, verifica di avere una chiave API e la aggiungi all'app, come descritto in precedenza. Controlla la console di debug di Xcode per verificare se sono presenti messaggi di errore relativi alla chiave API.
- Se hai limitato la chiave API in base all'identificatore bundle iOS, modifica la chiave per aggiungere l'identificatore bundle per l'app:
com.google.examples.map-with-marker
. - Assicurati di avere una buona connessione Wi-Fi o GPS.
- Utilizza gli strumenti di debug Xcode per visualizzare i log ed eseguire il debug dell'app.
Nozioni di base sul codice
- Crea una mappa e impostala come vista in
loadView()
.Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- Aggiungi un indicatore alla mappa in
loadView()
.Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
Per impostazione predefinita, l'SDK Maps per iOS mostra i contenuti della finestra informativa quando l'utente tocca un indicatore. Non è necessario aggiungere un listener di clic per l'indicatore se desideri utilizzare il comportamento predefinito.
Congratulazioni! Hai creato un'app per iOS che mostra una mappa di Google con un indicatore per indicare una determinata località. Hai imparato anche a utilizzare l'SDK Maps per iOS.
Passaggi successivi
Scopri di più sull'oggetto mappa e su cosa puoi fare con gli indicatori.