ID posizione

Seleziona la piattaforma: Android iOS JavaScript Servizio web

Gli ID luogo identificano in modo univoco un luogo nel database di Google Places e su Google Maps. Gli ID luogo sono accettati nelle richieste alle seguenti API di Google Maps:

  • Recupero di un indirizzo per un ID luogo nel servizio web dell'API Geocoding e nel servizio Geocoding, API Maps JavaScript.
  • Specificare i punti di partenza, di destinazione e intermedi nel servizio web dell'API Routes, dell'API Directions e nel servizio Directions, API Maps JavaScript.
  • Specifica di origini e destinazioni nel servizio web dell'API Routes e dell'API Distanza Matrice e nel servizio Distanza Matrice, API Maps JavaScript.
  • Recupero dei Dettagli luogo nel servizio web dell'API Places, nell'SDK Places per Android, nell'SDK Places per iOS e nella libreria Places.
  • Utilizzo dei parametri ID luogo nell'API Maps Embed.
  • Recupero delle query di ricerca negli URL di Maps.
  • Visualizzazione dei limiti di velocità nell'API Roads.
  • Trovare e definire lo stile dei poligoni dei confini con uno stile basato sui dati per i confini.

Trovare l'ID di un luogo specifico

Stai cercando l'ID di un luogo specifico? Utilizza lo strumento di ricerca ID luogo di seguito per cercare un luogo e recuperarne l'ID:

In alternativa, puoi visualizzare lo strumento di ricerca ID luogo con il relativo codice nella documentazione dell'API Maps JavaScript.

Panoramica

Un ID luogo è un identificatore testuale che identifica in modo univoco un luogo. La lunghezza dell'identificatore può variare (non è prevista una lunghezza massima per gli ID luogo). Esempi:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Gli ID luogo sono disponibili per la maggior parte dei luoghi, tra cui attività, punti di riferimento, parchi e incroci. È possibile che lo stesso luogo o la stessa località abbia più ID luogo diversi. Gli ID posizione potrebbero cambiare nel tempo.

Puoi utilizzare lo stesso ID luogo nell'API Places e in diverse API Google Maps Platform. Ad esempio, puoi utilizzare lo stesso ID luogo per fare riferimento a un luogo nell'API Places, nell'API Maps JavaScript, nell'API Geocoding, nell'API Maps Embed e nell'API Roads.

Recupera i dettagli del luogo utilizzando l'ID luogo

Un modo comune di utilizzare gli ID luogo è cercare un luogo (ad esempio, utilizzando l'API Places o la libreria Places nell'API Maps JavaScript) e poi utilizzare l'ID luogo restituito per recuperare i dettagli del luogo. Puoi archiviare l'ID del luogo e utilizzarlo per recuperare i dettagli dello stesso luogo in un secondo momento. Leggi ulteriori informazioni sul salvataggio degli ID luogo di seguito.

Esempio di utilizzo dell'SDK Places per iOS

Un 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 archiviare l'ID luogo e utilizzarlo per recuperare di nuovo l'oggetto GMSPlace in un secondo momento.

Per ottenere un luogo in base all'ID, chiama GMSPlacesClient fetchPlaceFromPlaceID:, trasmettendo 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. In caso contrario, passa null.
  • Un GMSPlaceResultCallback per gestire il risultato.

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

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]);
  }
}];

Salva gli ID dei luoghi per utilizzarli in un secondo momento

Gli ID luogo sono esenti dalle limitazioni per la memorizzazione nella cache di cui alla Sezione 3.2.3(b) dei Termini di servizio di Google Maps Platform. Di conseguenza, puoi memorizzare i valori ID posizione per utilizzarli in un secondo momento.

Aggiornamento degli ID dei luoghi archiviati

Ti consigliamo di aggiornare gli ID luogo se risalgono a più di 12 mesi fa. Puoi aggiornare gli ID luogo senza costi aggiuntivi effettuando una richiesta Dettagli luogo, specificando solo il campo GMSPlaceFieldPlaceID nel parametro fields. Questa chiamata attiva lo SKU Dettagli luogo - Aggiornamento ID. Tuttavia, questa richiesta potrebbe restituire anche il codice di stato NOT_FOUND. Una strategia consiste nel archiviare la richiesta originale che ha restituito ogni ID luogo. Se un ID luogo non è più valido, puoi emettere nuovamente la richiesta per ricevere risultati aggiornati. Questi risultati potrebbero includere o meno il luogo originale. La richiesta è addebitabile.

Codici di errore durante l'utilizzo degli ID luogo

Il codice di stato INVALID_REQUEST indica che l'ID luogo specificato non è valido. INVALID_REQUEST può essere restituito quando l'ID luogo è stato troncato o modificato in altro modo e non è più corretto.

Il codice di stato NOT_FOUND indica che l'ID luogo specificato è obsoleto. Un ID luogo può diventare obsoleto se un'attività chiude o si sposta in una nuova sede. Gli ID luogo possono cambiare a causa di aggiornamenti su larga scala nel database di Google Maps. In questi casi, un luogo potrebbe ricevere un nuovo ID luogo e il vecchio ID restituisce una risposta NOT_FOUND.

In particolare, alcuni tipi di ID luogo possono talvolta causare una risposta NOT_FOUND oppure l'API potrebbe restituire un ID luogo diverso nella risposta. Questi tipi di ID luogo includono:

  • Indirizzi che non esistono in Google Maps come indirizzi precisi, ma sono dedotti da un intervallo di indirizzi.
  • Segmenti di un lungo percorso, dove la richiesta specifica anche una città o una località.
  • Incroci.
  • Luoghi con un componente indirizzo di tipo subpremise.

Questi ID assumono spesso la forma di una lunga stringa (non esiste una lunghezza massima per gli ID luogo). Ad esempio:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4