Aggiungere una mappa con un indicatore

Questo tutorial mostra come aggiungere una mappa di Google alla tua app per iOS. La mappa include un indicatore, chiamato anche segnaposto, per indicare una posizione specifica.

Ricezione del codice

Clonare o scaricare il repository samples di Google Maps per iOS da GitHub.

Configurazione del progetto di sviluppo in corso...

Per installare l'SDK di Maps per iOS:

  1. Scarica e installa Xcode 14.0 o versioni successive.
  2. Se non disponi già di CocoaPods, installalo su macOS eseguendo il seguente comando dal terminale:
    sudo gem install cocoapods
  3. Clonare o scaricare il repository di esempio di Google Maps per iOS.
  4. Vai alla directory tutorials/map-with-marker.
  5. Esegui il comando pod install. Verranno installate le API specificate in Podfile, insieme a eventuali dipendenze.
  6. Esegui pod outdated per confrontare la versione del pod installata con eventuali nuovi aggiornamenti. Se viene rilevata una nuova versione, esegui pod update per aggiornare Podfile e installare l'SDK più recente. Per ulteriori dettagli, consulta la guida CocoaPods.
  7. Apri (con doppio clic) il file map-with-indicatore.xcworkspace del progetto per aprirlo in Xcode. Per aprire il progetto devi utilizzare il file .xcworkspace.

Richiesta di una chiave API e abilitazione delle API necessarie

Per completare questo tutorial, hai bisogno di una chiave API di Google autorizzata a utilizzare l'SDK di Maps per iOS. Fai clic sul pulsante in basso per ottenere una chiave e attivare l'API.

Inizia

Per maggiori dettagli, consulta Richiedere una chiave API.

Aggiungi la chiave API all'applicazione

Aggiungi la chiave API a AppDelegate.swift come segue:

  1. Tieni presente che al file è stata aggiunta la seguente istruzione di importazione:
    import GoogleMaps
  2. Modifica la seguente riga nel metodo application(_:didFinishLaunchingWithOptions:), sostituendo YOUR_API_KEY con la chiave API:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Creare ed eseguire l'app

  1. Collega un dispositivo iOS al computer o seleziona un simulatore dal menu popup dello schema Xcode.
  2. Se utilizzi un dispositivo, assicurati che i servizi di geolocalizzazione siano attivi. Se utilizzi un simulatore, seleziona una posizione dal menu Funzionalità.
  3. In Xcode, fai clic sull'opzione di menu Product/Run (Prodotto/Esegui) o sull'icona del pulsante di riproduzione.
    • Xcode crea l'app, quindi esegue l'app 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 una mappa, verifica di aver ottenuto una chiave API e di averla aggiunta all'app, come descritto sopra. 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 dall'identificatore del 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

  1. 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;
          
  2. 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 vuoi utilizzare il comportamento predefinito.

Congratulazioni! Hai creato un'app per iOS che mostra una mappa Google con un indicatore per indicare una località specifica. Hai anche imparato a utilizzare l'SDK Maps per iOS.

Passaggi successivi

Scopri di più sull'oggetto mappa e su cosa puoi fare con gli indicatori.