ID posizione

Seleziona la piattaforma: Android iOS JavaScript Web Service

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 e Geocoding nell'API Geocoding, API Maps JavaScript.
  • Specificare origine, destinazione e tappe intermedie nel servizio web dell'API Routes e nell'API Directions e nel servizio Directions, nell'API Maps JavaScript.
  • Specificare origini e destinazioni nel servizio web API Routes e nell'API Distance Matrix e nel servizio Distance Matrix, nell'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 lo strumento di ricerca ID luogo di seguito per cercare un luogo e recuperarne l'ID:

In alternativa, puoi visualizzare lo strumento di ricerca degli 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 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, incluse attività, punti di riferimento, parchi e incroci. È possibile che uno stesso luogo o località abbia più ID luogo diversi. Gli ID dei luoghi 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.

Recuperare i dettagli del luogo utilizzando l'ID luogo

Un modo comune per utilizzare gli ID luogo è cercare un luogo (ad esempio mediante 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 luogo e utilizzarlo per recuperare gli stessi dettagli in un secondo momento. Scopri di più sul salvataggio degli ID luogo di seguito.

Esempio di utilizzo di Places SDK per Android

In Places SDK per Android, puoi recuperare l'ID di un luogo chiamando Place.getId(). Il servizio Place Autocomplete restituisce anche un ID luogo per ogni luogo che corrisponde alla query di ricerca e al filtro forniti. Utilizza l'ID luogo per recuperare di nuovo l'oggetto Place in un secondo momento.

Per ottenere un luogo tramite ID, chiama PlacesClient.fetchPlace(), trasmettendo un FetchPlaceRequest.

L'API restituisce un FetchPlaceResponse in un Task. L'elemento FetchPlaceResponse contiene un oggetto Place corrispondente all'ID luogo fornito.

L'esempio di codice seguente mostra la chiamata a fetchPlace() per ottenere 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 stabilite nella Sezione 3.2.3(b) dei Termini di servizio di Google Maps Platform. Puoi quindi archiviare i valori degli ID luogo per utilizzarli in un secondo momento.

Aggiornamento degli ID dei luoghi memorizzati

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 Place Details, specificando solo il campo Place.Field.ID nel parametro fields. Questa chiamata attiva lo SKU Places Details - ID Refresh.

Questa richiesta potrebbe restituire anche il codice di stato NOT_FOUND. Una strategia consiste nell'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. Tuttavia, questa richiesta è addebitabile.

Codici di errore quando si utilizzano gli 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 potrebbero 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 quello precedente restituisce una risposta NOT_FOUND.

In particolare, alcuni tipi di ID luogo a volte possono 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 che vengono dedotti da un intervallo di indirizzi.
  • Segmenti di un percorso lungo in cui la richiesta specifica anche una città o una località.
  • Incroci.
  • Luoghi con un componente indirizzo di tipo subpremise.

Questi ID spesso assumono 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