Place Details

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

L'SDK Places per iOS fornisce alla tua app informazioni dettagliate sui luoghi, inclusi il nome e l'indirizzo del luogo, la posizione geografica specificata come coordinate di latitudine/longitudine, il tipo di luogo (ad esempio night club, negozio di animali, museo) e altro ancora. Per accedere a queste informazioni relative a un luogo specifico, puoi utilizzare l'ID luogo, un identificatore stabile che identifica in modo univoco un luogo.

Dettagli luogo

Il corso GMSPlace fornisce informazioni su un luogo specifico. Puoi recuperare un oggetto GMSPlace nei seguenti modi:

Campi luogo

Quando richiedi un luogo, devi specificare i tipi di dati di un luogo da restituire. A tale scopo, passa un elemento GMSPlaceField, specificando i tipi di dati da restituire. Si tratta di una considerazione importante, poiché influisce sul costo di ciascuna richiesta. Poiché i risultati dei dati dei luoghi non possono essere vuoti, vengono restituiti solo i risultati dei luoghi con dati (ad esempio, se un luogo richiesto non ha foto, il campo photos non sarà presente nel risultato). Puoi specificare uno o più dei seguenti campi:

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

Scopri di più sui campi luogo. Per ulteriori informazioni sulla modalità di fatturazione delle richieste di dati dei luoghi, consulta Utilizzo e fatturazione.

La classe GMSPlace può contenere i seguenti dati di luogo:

  • name: il nome del luogo.
  • placeID: l'identificatore testuale della località. Scopri di più sugli ID luogo nel resto di questa pagina.
  • coordinate: la posizione geografica del luogo, specificata come coordinate di latitudine e longitudine.
  • businessStatus: lo stato operativo del luogo, se si tratta di un'attività. Può contenere uno dei seguenti valori: GMSBusinessStatusOperational, GMSBusinessStatusClosedTemporarily, GMSBusinessStatusClosedPermanently, GMSBusinessStatusUnknown.
  • phoneNumber: il numero di telefono del luogo, in formato internazionale.
  • formattedAddress: l'indirizzo leggibile di questa località.

    Spesso questo indirizzo è equivalente all'indirizzo postale. Tieni presente che alcuni paesi, come il Regno Unito, non consentono la distribuzione di indirizzi postali reali a causa di limitazioni relative alle licenze.

    L'indirizzo formattato è logicamente composto da uno o più componenti dell'indirizzo. Ad esempio, l'indirizzo "111 8th Avenue, New York, NY" è costituito dai seguenti componenti: "111" (il numero civico), "8th Avenue" (il percorso), "New York" (la città) e "NY" (stato degli Stati Uniti).

    Non analizzare l'indirizzo formattato in modo programmatico. Utilizza invece i singoli componenti dell'indirizzo, che includono la risposta dell'API, oltre al campo dell'indirizzo formattato.

  • rating: una valutazione complessiva del luogo, restituita come floating con valori compresi tra 1,0 e 5,0, basata sulle recensioni aggregate degli utenti.
  • openingHours: gli orari di apertura del luogo (rappresentati da GMSOpeningHours). Chiama il numero GMSOpeningHours.weekdayText per ottenere un elenco di stringhe localizzate degli orari di apertura giornalieri per la settimana. Chiama GMSOpeningHours.Periods per restituire un elenco di GMSPeriod con informazioni più dettagliate equivalenti ai dati forniti da weekdayText. Nota: se un luogo è sempre aperto, il periodo di tempo è rappresentato come domenica a mezzanotte e il valore closeEvent è nullo.
  • plusCode: il plus code della località della località.
  • priceLevel: il livello di prezzo per questo luogo, restituito come numero intero con valori compresi tra 0 (più economico) e 4 (più costoso).
  • types: un elenco dei tipi di luogo che caratterizzano questo luogo. Questo array può contenere più valori oppure può essere vuoto. Potrebbero essere introdotti nuovi valori senza preavviso. Consulta l'elenco dei tipi supportati.
  • website: l'URI del sito web del luogo, se noto. Si tratta del sito web gestito dall'attività o dall'altra persona giuridica associata al luogo.
  • attributions: una proprietà NSAttributedString contenente le attribuzioni che devi mostrare all'utente se la tua app utilizza i dettagli del luogo recuperati dall'SDK Places per iOS. Per informazioni dettagliate sul recupero e sulla visualizzazione delle attribuzioni, consulta la guida alle attribuzioni.
  • addressComponents: un array di oggetti GMSAddressComponent che rappresentano i componenti dell'indirizzo di un luogo. Questi componenti vengono forniti allo scopo di estrarre informazioni strutturate sull'indirizzo di un luogo, ad esempio per trovare la città in cui si trova un luogo. Non utilizzare questi componenti per la formattazione dell'indirizzo, ma utilizza la proprietà formattedAddress, che fornisce un indirizzo formattato localizzato.

    Osserva le seguenti informazioni sull'array di addressComponents:

    • L'array dei componenti indirizzo può contenere più componenti di formattedAddress.
    • L'array non include necessariamente tutte le entità politiche che contengono un indirizzo, oltre a quelle incluse in formattedAddress.
    • Non è garantito che il formato della risposta rimanga invariato tra le richieste. In particolare, il numero di addressComponents varia in base all'indirizzo richiesto e può cambiare nel tempo per lo stesso indirizzo. Un componente può cambiare la posizione nell'array. Il tipo del componente può cambiare. Un determinato componente potrebbe mancare in una risposta successiva.
  • userRatingsTotal: rappresenta il numero di recensioni che costituiscono la valutazione di un luogo.
  • GMSPlaceFieldIconImageURL: l'URL di un'icona che rappresenta il tipo di luogo (formato PNG).
  • GMSPlaceFieldIconBackgroundColor: il colore di sfondo per l'icona del tipo di luogo.
  • UTCOffsetMinutes: l'offset del fuso orario del luogo, in minuti.

La classe GMSPlace contiene le seguenti funzioni per i membri:

  • isOpen calcola se un luogo è aperto in un determinato momento, in base a openingHours e UTCOffsetMinutes, nonché alla data e all'ora correnti.
  • isOpenAtDate calcola se un luogo è aperto in una determinata data, in base a openingHours e UTCOffsetMinutes, nonché alla data e all'ora correnti.
  • Quando utilizzi queste funzioni per ottenere orari e/o date di apertura, la richiesta originale fetchPlaceFromPlaceID: o findPlaceLikelihoodsFromUserLocationWithPlaceFields: deve specificare entrambi i campi GMSPlaceFieldOpeningHours e GMSPlaceFieldUTCOffsetMinutes. Se uno di questi campi manca, l'oggetto GMSPlace risultante non conterrà orari o date di apertura e la chiamata restituirà GMSPlaceOpenStatusUnknown. Per ottenere risultati precisi, richiedi i campi GMSPlaceFieldBusinessStatus e GMSPlaceFieldUTCOffsetMinutes nella richiesta di luogo originale. Se non viene richiesto, si presume che l'attività sia operativa.

    Guarda questo video per informazioni sull'utilizzo di isOpen con i dettagli del luogo.

Ottieni un luogo in base all'ID

L'ID luogo è un identificatore testuale che identifica in modo univoco un luogo. Nell'SDK Places per iOS, puoi recuperare l'ID di un luogo da un oggetto GMSPlace. Puoi memorizzare l'ID luogo e utilizzarlo di nuovo per recuperare l'oggetto GMSPlace.

Per ottenere un luogo per ID, chiama GMSPlacesClient fetchPlaceFromPlaceID:, passando i seguenti parametri:

  • Una stringa contenente un ID luogo.
  • Uno o più GMSPlaceField, specificando i tipi di dati da restituire.
  • Un token di sessione se la chiamata viene effettuata per concludere una query di completamento automatico. Altrimenti, passa nil.
  • Un GMSPlaceResultCallback per gestire il risultato.

L'API richiama il metodo di callback specificato, trasmettendo un oggetto GMSPlace. Se il luogo non viene trovato, l'oggetto luogo è zero.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

Attribuzioni display nell'app

Quando la tua app mostra informazioni ottenute da GMSPlacesClient lookUpPlaceID:callback:, deve mostrare anche le attribuzioni. Consulta la documentazione sulle attribuzione.

Dai nostri Termini di servizio

Utilizza i dati di Google solo
con Google Maps

Se utilizzi i dati di Google, usali solo con una mappa Google. Puoi visualizzare su Google Maps i dati e i dati di Google di altri fornitori, ma non su una mappa non Google.

Scopri di più

Scopri di più sugli ID luogo

L'ID luogo utilizzato nell'SDK Places per iOS è lo stesso identificatore utilizzato nell'API Places, nell'SDK Places per Android e in altre API Google.

Ogni ID luogo può fare riferimento a un solo luogo, ma un singolo luogo può avere più di un ID luogo.

In alcuni casi, un luogo può ricevere un nuovo ID. Ad esempio, questo può accadere se un'attività si trasferisce in una nuova sede.

Quando richiedi un luogo specificando un ID luogo, puoi avere la certezza che riceverai sempre lo stesso luogo nella risposta (se il luogo esiste ancora). Tieni presente, tuttavia, che la risposta potrebbe contenere un ID luogo diverso da quello indicato nella richiesta.

Per ulteriori informazioni, consulta la panoramica dell'ID luogo.