Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Aggiungere una mappa con un indicatore

Questo tutorial ti 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 esempi di Google Maps per iOS da GitHub.

Configurazione del progetto di sviluppo

Per installare l'SDK Maps per iOS:

  1. Scarica e installa Xcode versione 13.0 o successive.
  2. Se non hai ancora CocoaPods, installalo su macOS eseguendo il comando seguente dal terminale:
    sudo gem install cocoapods
  3. Clonare o scaricare il repository esempi 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 alle eventuali dipendenze.
  6. Apri (con un doppio clic) il file del map-with-identifier.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 in basso per ottenere una chiave e attivare l'API.

Inizia

Per maggiori dettagli, consulta la pagina Ottenere una chiave API.

Aggiungi la chiave API all'applicazione

Swift

Aggiungi la chiave API a AppDelegate.swift come segue:

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

Objective-C

Aggiungi la chiave API a AppDelegate.m come segue:

  1. Tieni presente che è stata aggiunta al file la seguente istruzione di importazione:
    @import GoogleMaps;
  2. Modifica la riga seguente 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 oppure 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 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 una mappa, verifica di aver ottenuto una chiave API e di averla aggiunta all'app, come descritto in precedenza. Controlla la console di debug di Xcode per verificare se sono presenti messaggi di errore sulla chiave API.
  • Se hai limitato la chiave API in base all'identificatore pacchetto iOS, modifica la chiave per aggiungere l'identificatore pacchetto 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 su 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 c'è bisogno di aggiungere un listener di clic per l'indicatore se vuoi utilizzare il comportamento predefinito.

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

Passaggi successivi

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