Introduzione
Gli ID luogo identificano in modo unico 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 nell'API Geocoding e nel servizio Geocoding, API Maps JavaScript.
- Specifica di punti di partenza, destinazione e tappe intermedie nell'API Routes e nell'API Directions (legacy) e nel servizio Directions, API Maps JavaScript (legacy).
- Specifica di origini e destinazioni nell'API Routes e nell'API Distance Matrix (legacy) e nel servizio Distance Matrix, API Maps JavaScript (legacy).
- Recupero di Place Details nell'API Places (nuova), nell'SDK Places per Android (nuovo), nell'SDK Places per iOS (nuovo) 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.
- Ricerca e applicazione di stili ai poligoni dei confini negli stili basati sui dati per i confini.
Trova l'ID di un luogo specifico
Stai cercando l'ID luogo di un luogo specifico? Utilizza lo strumento per la ricerca degli ID luogo di seguito per cercare un luogo e ottenere il relativo ID:
In alternativa, puoi visualizzare lo strumento di ricerca degli ID luogo con il relativo codice nella documentazione dell'API Maps JavaScript.
Trova gli ID luogo dal codice o da un agente AI
Lo strumento di ricerca degli ID luogo cerca un luogo alla volta in un browser. Per cercare gli ID luogo da un'app, uno script o un agente AI, chiama un'API:
- Dal tuo codice: Invia unRicerca testuale (nuova) richiesta con le proprietà del luogo impostate su
GMSPlacePropertyPlaceID. Le richieste che restituiscono solo ID luogo vengono fatturate in base allo SKU Places API Text Search Essentials (IDs Only). - Da un agente AI o un'app LLM: utilizza l'API Resolution negli strumenti dell'agente Maps Experience. Gli strumenti MCP
resolve_nameseresolve_maps_urlsrisolvono fino a 20 nomi di luoghi, indirizzi o URL di Google Maps in ID luogo in ogni richiesta. Sono disponibili gli stessi metodi dei metodi RESTresolveNameseresolveMapsUrls.
Panoramica
Un ID luogo è un identificatore testuale che identifica in modo univoco un luogo. La lunghezza dell'identificatore può variare (non esiste 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 delle località, 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 luogo possono cambiare nel tempo.
Puoi utilizzare lo stesso ID luogo nell'API Places e in una serie di API di 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 di un luogo utilizzando l'ID luogo
Un modo comune di utilizzare gli ID luogo è cercare un luogo utilizzando l'API Places o la libreria Places nell'API Maps JavaScript. Poi, utilizza l'ID luogo restituito per recuperare i dettagli del luogo. Puoi memorizzare l'ID luogo e utilizzarlo per recuperare gli stessi dettagli del luogo in un secondo momento. Scopri di più sul salvataggio degli ID luogo più avanti in questo documento.
Esempio di utilizzo di Places SDK for iOS
Un ID luogo è un identificatore testuale che identifica in modo univoco un luogo. In Places SDK for iOS, puoi recuperare l'ID di un luogo da un oggetto GMSPlace. Puoi memorizzare l'ID luogo e utilizzarlo per recuperare l'oggetto GMSPlace in un secondo momento.
Per recuperare un luogo in base all'ID, chiama GMSPlacesClient
fetchPlaceFromPlaceID:, passando i seguenti parametri:
- Una stringa contenente un ID luogo.
- Uno o più
GMSPlaceField, che specificano 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 nil.
- Un
GMSPlaceResultCallbackper gestire il risultato.
L'API richiama il metodo di callback specificato, passando un oggetto GMSPlace. Se il luogo non viene trovato, l'oggetto Place è nil.
Places Swift SDK for iOS
// Initialize Places Swift Client. let placesClient = PlacesClient.shared // A hotel in Saigon with an attribution let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Fetch Place Request. let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.displayName] ) Task { switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): print("The selected place is: \(place.displayName): \(String(describing: place.description))") case .failure(let placesError): print("Place not found: \(placeID); \(placesError)") } }
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 luogo per utilizzarli in un secondo momento
Gli ID luogo sono esenti dalle limitazioni di memorizzazione nella cache indicate nella Sezione 3.2.3(b) dei Termini di servizio di Google Maps Platform. Pertanto, puoi memorizzare i valori degli ID luogo per un utilizzo successivo.
Aggiorna gli ID luogo memorizzati
Poiché gli ID luogo possono cambiare a causa degli aggiornamenti del database di Google Maps, Google consiglia di aggiornarli se hanno più di 12 mesi. Puoi aggiornare gli ID luogo senza costi effettuando una richiesta Place Details, specificando solo il campo GMSPlaceFieldPlaceID nel parametro fields.
Questa chiamata attiva lo SKU Place Details - ID Refresh.
Codici di errore durante l'utilizzo degli ID luogo
INVALID_REQUEST
Il codice di stato INVALID_REQUEST indica che l'ID luogo specificato non è valido. INVALID_REQUEST potrebbe essere restituito quando l'ID luogo è stato troncato o modificato in altro modo e non è più corretto.
NOT_FOUND
Il codice di stato NOT_FOUND indica che l'ID luogo specificato è obsoleto. Un ID luogo potrebbe diventare obsoleto se un'attività chiude o si trasferisce in una nuova sede. Gli ID luogo possono anche cambiare a causa di aggiornamenti nel database di Google Maps. In questi casi, un luogo potrebbe ricevere un nuovo ID luogo e l'ID precedente restituisce una risposta NOT_FOUND.
Per aggiornare i risultati in caso di ID luogo obsoleto, memorizza la richiesta originale che ha restituito ogni ID luogo e inviala nuovamente in base alle necessità. Tieni presente che la richiesta riemessa viene fatturata con lo SKU appropriato.
Alcuni tipi di ID luogo possono talvolta causare una risposta NOT_FOUND oppure l'API può restituire un ID luogo diverso nella risposta. Questi tipi di ID luogo includono:
- Indirizzi che non esistono in Google Maps come indirizzi precisi, ma vengono dedotti da un intervallo di indirizzi.
- Tratti di un percorso lungo, in cui la richiesta specifica anche una città o una località.
- Incroci.
- Luoghi con un componente dell'indirizzo di tipo
subpremise.
Questi ID spesso assumono la forma di una stringa lunga (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