Gli ID luogo identificano in modo univoco un luogo nel database di Google Places e su Google Maps. ID luogo vengono accettati nelle richieste alle seguenti API di Google Maps:
- Recupero di un indirizzo per un ID luogo nel servizio web dell'API Geocoding e Geocoding, API Maps JavaScript.
- Specificare il luogo di partenza, la destinazione e le tappe intermedie nel API Routes e API Directions servizio web e servizio indicazioni stradali, API Maps JavaScript.
- Specificare origini e destinazioni nell'API Routes e Servizio web dell'API Distance Matrix e Servizio Distance Matrix, API Maps JavaScript.
- Recupero dei dettagli dei luoghi nel servizio web API Places, SDK Places per Android, SDK Places per iOS e libreria di 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 assegnare uno stile ai poligoni dei confini negli stili basati sui dati per i confini.
Trovare l'ID di un luogo specifico
Stai cercando l'ID luogo di un luogo specifico? Utilizza l'ID luogo di seguito per cercare un luogo e recuperare il relativo ID:
In alternativa, puoi visualizza Place ID finder con il relativo codice nell'API Maps JavaScript documentazione.
Panoramica
Un ID luogo è un identificatore testuale che identifica in modo univoco un luogo. La 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 sedi, tra cui attività, punti di riferimento, parchi e incroci. È possibile che lo stesso luogo o località hanno più ID luogo diversi. Gli ID dei luoghi potrebbero cambiare nel tempo.
Puoi utilizzare lo stesso ID luogo in tutta l'API Places di API Google Maps Platform. Ad esempio, puoi utilizzare lo stesso ID luogo per fai riferimento a un luogo nella API Places, il parametro API Maps JavaScript, l'API Geocoding, l'API Maps Embed e l'API Roads.
Recuperare i dettagli del luogo utilizzando l'ID luogo
Un modo comune di utilizzare gli ID luogo è cercare un luogo (utilizzando l'API Places o i Luoghi libreria nell'API Maps JavaScript, ad esempio), quindi utilizza la l'ID luogo restituito per recuperare i dettagli del luogo. Puoi memorizzare l'ID luogo e utilizzalo per recuperare i dettagli dello stesso luogo in un secondo momento. Informazioni salvataggio ID luogo qui sotto.
Esempio di utilizzo di Places SDK per Android
In Places SDK per Android, puoi recuperare l'ID di un luogo
chiamata
Place.getId()
La
Servizio Place Autocomplete
restituisce anche un ID luogo per ogni luogo che corrisponde alla query di ricerca
e filtrare. Utilizza l'ID luogo per recuperare
Place
di nuovo in seguito.
Per ottenere un luogo tramite ID, chiama
PlacesClient.fetchPlace()
,
passando un FetchPlaceRequest
.
L'API restituisce un
FetchPlaceResponse
in un
Task
.
La
FetchPlaceResponse
contiene un
Place
corrispondente all'ID luogo fornito.
L'esempio di codice seguente mostra la chiamata di fetchPlace()
a
ottieni i dettagli per il luogo specificato.
Kotlin
// Define a Place ID. val placeId = "INSERT_PLACE_ID_HERE" // Specify the fields to return. val placeFields = listOf(Place.Field.ID, Place.Field.NAME) // Construct a request object, passing the place ID and fields array. val request = FetchPlaceRequest.newInstance(placeId, placeFields) placesClient.fetchPlace(request) .addOnSuccessListener { response: FetchPlaceResponse -> val place = response.place Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}") }.addOnFailureListener { exception: Exception -> if (exception is ApiException) { Log.e(TAG, "Place not found: ${exception.message}") val statusCode = exception.statusCode TODO("Handle error with given status code") } }
Java
// Define a Place ID. final String placeId = "INSERT_PLACE_ID_HERE"; // Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); Log.i(TAG, "Place found: " + place.getName()); }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { final ApiException apiException = (ApiException) exception; Log.e(TAG, "Place not found: " + exception.getMessage()); final int statusCode = apiException.getStatusCode(); // TODO: Handle error with given status code. } });
Salva gli ID dei luoghi per utilizzarli in un secondo momento
Gli ID luogo sono esenti dalle limitazioni di memorizzazione nella cache dichiarate in Sezione 3.2.3(b) dei Termini di servizio di Google Maps Platform. Di conseguenza, puoi memorizzare i valori degli ID luogo per un secondo momento. per gli utilizzi odierni.
Aggiornamento degli ID dei luoghi memorizzati
Ti consigliamo di aggiornare gli ID luogo se risalgono a più di 12 mesi fa. Tu
puoi aggiornare gli ID luogo senza costi eseguendo una
Richiesta Dettagli luogo,
specificando solo Place.Field.ID
nel parametro fields
.
Questa chiamata attiva
Dettagli luogo - Aggiornamento ID
.
Questa richiesta potrebbe restituire anche lo stato NOT_FOUND
le API nel tuo codice. Una strategia consiste nell'archiviare la richiesta originale che ha restituito ogni luogo
ID. Se un ID luogo non è più valido, puoi emettere nuovamente la richiesta per
che consentono di analizzare i dati
e visualizzare i risultati. Questi risultati potrebbero includere o meno il luogo originale. Tuttavia, questa richiesta
è addebitabile.
Codici di errore quando si utilizzano gli ID luogo
Il codice di stato INVALID_REQUEST
indica che
ID luogo non valido. È possibile che INVALID_REQUEST
venga 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 trasferisce in
una nuova posizione. Gli ID dei luoghi possono cambiare a causa di aggiornamenti su larga scala
Database Maps. In questi casi, un luogo potrebbe ricevere un nuovo ID luogo e il vecchio
L'ID restituisce una risposta NOT_FOUND
.
In particolare, alcuni tipi di ID luogo a volte possono causare un
NOT_FOUND
o l'API potrebbe restituire un ID luogo diverso in
la risposta. Questi tipi di ID luogo includono:
- Indirizzi che non esistono su Google Maps come indirizzi esatti ma sono dedotti da un intervallo di indirizzi.
- Segmenti di un percorso lungo in cui la richiesta specifica anche una città o 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