Suggerimenti per creare la migliore esperienza utente durante la navigazione verso i luoghi con un'auto

Questo documento è un aggiornamento di un articolo precedente che utilizzava versioni precedenti delle API GMP. Questi contenuti sono aggiornati alla nuova versione dell'API Places lanciata nel 2023-24 e dell'API Routes lanciata nel 2023.

In genere, quando l'utente si reca in auto in un punto d'interesse, ha bisogno di indicazioni stradali per una località vicina, ad esempio un parcheggio o un punto di accesso. Immagina un autista che deve andare in un aeroporto o in un centro commerciale. Quando si reca in un aeroporto, l'autista sta cercando di raggiungere un terminal o un punto di discesa piuttosto che il centro del complesso aeroportuale. Allo stesso modo, un parcheggio accanto al centro commerciale potrebbe essere un'opzione molto migliore per un utente con un'auto. In questo caso, quando sviluppi un'app o un servizio per guidare l'autista, trova prima la posizione in cui si sta recando e poi offri all'autista destinazioni facoltative vicino a quella posizione. Questo approccio ti consente di fornire un servizio migliore ai tuoi clienti e dimostrare che apprezzi il loro tempo, con un piccolo ma intelligente sforzo di sviluppo che sfrutta i dati sulla posizione forniti da Google Maps Platform.

Diagramma di sistema

Mostreremo come utilizzare la nuova API Places e l'API Routes in sequenza o in combinazione per identificare il luogo giusto in cui parcheggiare vicino alla destinazione. Questa soluzione mira a eliminare l'incertezza e le interazioni multiple per trovare un parcheggio mentre guidi una volta più vicino alla destinazione finale. Dai un'occhiata a due esempi di come questi casi potrebbero essere implementati in dettaglio.

Esempio 1: un'attrazione turistica senza parcheggio

Scegli una posizione non direttamente collegata al ciglio della strada in modo che un percorso debba essere recuperato separatamente. La destinazione è Notre Dame a Parigi e come punto di partenza utilizzeremo la stazione ferroviaria Gare de l'Est (48.87697775149635, 2.3592247806755564).

Gare l'Est

L'autista lascia la stazione a circa 16 minuti a nord di Notre Dame. Notre Dame è una famosa attrazione turistica su un'isola con accesso tramite ponte, alcune strade a senso unico e nessun grande parcheggio disponibile nelle vicinanze, quindi questa dovrebbe essere una sfida interessante.

1. Richiesta dell'API Places

Questa richiesta dell'API Places utilizza la ricerca di testo per trovare Notre Dame. Per ulteriori dettagli, consulta la documentazione per sviluppatori. "$APIKEY" in questi esempi è la chiave API che hai per le API Places e Routes di Google Maps Platform abilitate nella console di Google Cloud. Per una spiegazione più dettagliata, consulta la documentazione su come iniziare a utilizzare Google Maps Platform.

Le nuove richieste dell'API Places hanno un nuovo formato. I campi di risposta non sono più fissi e, in qualità di sviluppatore, devi definire una maschera di campo nell'intestazione. L'utilizzo di fieldmask è definito nella documentazione.

curl -X POST --data @notre_dame.json \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.location' \
'https://places.googleapis.com/v1/places:searchText'

Con i contenuti di "notre_date.json" per i parametri di ricerca:

{
   "textQuery": "Notre Dame, Paris",
   "languageCode": "en"
}

La risposta alla richiesta precedente fornisce le seguenti coordinate di latitudine e longitudine:

{
  "places": [
    {
      "id": "ChIJATr1n-Fx5kcRjQb6q6cdQDY",
      "formattedAddress": "6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France",
      "location": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021
      },
      "displayName": {
        "text": "Cathédrale Notre-Dame de Paris",
        "languageCode": "en"
      }
    }
  ]
}

Come puoi vedere, le coordinate indicano effettivamente Notre Dame.

Foto dell'ingresso di Notre Dame Mappa dell'area di Notre-Dame

In qualità di sviluppatore o fornitore di servizi, è consigliabile chiedere automaticamente all'autista "Cerchi parcheggio vicino a Notre Dame?" o, se l'autista ha un veicolo elettrico, potresti cercare una stazione di ricarica. L'esperienza utente varierà a seconda del dispositivo e dello schermo, ma in questo caso potrebbe essere utile prendere in considerazione un testo di dialogo discreto che scompare dopo un breve periodo di tempo. Per trovare parcheggi vicino a Notre Dame, esegui una ricerca nelle vicinanze dell'API Places con i tipi "parcheggio" e "stazione di ricarica per veicoli elettrici" con un raggio di 500 metri. L'esempio seguente indirizzerà i risultati verso le aree di parcheggio entro 500 metri da Notre Dame.

curl -X POST -d '{
  "includedTypes": ["parking", "electric_vehicle_charging_station"],
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H "X-Goog-FieldMask: places.displayName,places.location" \
https://places.googleapis.com/v1/places:searchNearby

Il primo risultato è una stazione di ricarica alle coordinate 48.854981, 2.350629, anche se quando esegui questo esempio, i risultati potrebbero variare. Utilizza questa posizione nella parte successiva in cui eseguiamo una richiesta dell'API Routes.

2. Richiesta dell'API Routes

Per trovare il percorso dalla stazione a una stazione di ricarica vicino a Notre Dame, devi effettuare una richiesta all'API Routes. Basta impostare i parametri di origine e destinazione. Per altre opzioni, consulta la documentazione per gli sviluppatori.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 48.87697775149635,
        "longitude": 2.3592247806755564
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
       "latitude": 48.854981,
        "longitude": 2.350629
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

La risposta dell'API Routes in genere contiene più suggerimenti di itinerari. Per includere i dati dell'itinerario nella risposta, definisci "routes.legs" in fieldmask. Ogni itinerario è composto da più "tratte" e queste contengono più "passi" che mostrano la distanza di viaggio e le coordinate. Per trovare le coordinate finali raggiungibili con un'auto, utilizza il campo "endLocation" dell'ultimo passaggio dell'ultimo tratto di un percorso che hai selezionato. "latitude": 48.854937299999996, "longitude": 2.3505841999999997

Questa posizione potrebbe non sembrare la prima scelta, ma se guardi la mappa o Google Street View, vedrai che si trova a pochi minuti a piedi, circa 6-7 minuti, da Notre Dame.

Indicazioni stradali per Notre Dame

Percorso a piedi dal parcheggio della stazione di ricarica a Notre-Dame

Riepilogo per l'esempio 1

Come puoi vedere, trovare un parcheggio per un'auto richiede solo poche chiamate API e la visualizzazione del suggerimento al conducente. In questo modo, i tuoi utenti risparmiano tempo perché non devono guidare in strade a senso unico o cercare un posto dove parcheggiare l'auto in un'attrazione turistica affollata. In sintesi, abbiamo effettuato le seguenti richieste API:

  • Una richiesta di ricerca di testo dell'API Places per trovare le coordinate di Notre Dame
  • Una ricerca nelle vicinanze dell'API Places per trovare un parcheggio con una stazione di ricarica per auto elettriche entro 500 metri da queste coordinate
  • Una richiesta dell'API Routes per trovare un percorso per la stazione di ricarica

Esempio 2: indicazioni per un terminal in un grande aeroporto

Mappa dell'aeroporto di Heathrow

Considera un altro esempio in cui l'autista sta cercando di raggiungere un'area di grandi dimensioni che ha più posizioni, PDI o potenziali punti di consegna. L'autista sta partendo dallo stadio di Wembley, Regno Unito (51.557263604707224, -0.2794575145680608) e sta cercando di raggiungere il terminal 5 dell'aeroporto di Londra Heathrow.

Il bello del nuovo completamento automatico dell'API Places è la possibilità di definire un tipo principale come criterio di ricerca in combinazione con l'API che prevede i locali secondari come potenziali risultati di ricerca. In questo caso, la ricerca di un aeroporto e di un parcheggio restituirà anche terminal o parcheggi. Puoi trovare un elenco completo dei tipi da includere o escludere nella documentazione.

curl -X POST -d '{
  "input": "Heathrow",
  "includedPrimaryTypes": ["airport", "parking"]
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
https://places.googleapis.com/v1/places:autocomplete

La query precedente ci fornisce un elenco dei terminal e dei singoli punti di consegna in questi terminal. Dall'elenco dei risultati possiamo trovare "London Heathrow Airport Terminal 5" e il relativo ID luogo:

"place_id" : "ChIJo21hnPxxdkgRksRL0KQRWII",

Utilizzando il parametro "placeId", possiamo comunicare all'API Routes che stiamo cercando di raggiungere un luogo anziché coordinate arbitrarie.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 51.557263604707224,
        "longitude": -0.2794575145680608
      }
    }
  },
  "destination":{
    "placeId": "ChIJo21hnPxxdkgRksRL0KQRWII"
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Come nell'esempio precedente, leggendo tutti i passaggi nella risposta JSON troverai l'ultima parte del viaggio e le coordinate di latitudine e longitudine delle località di destinazione (51.4714348, "longitude": -0.48967890000000003).

Street View del Terminal 5

Riepilogo per l'esempio 2

Come nell'esempio precedente, lo sforzo di sviluppo per fornire una guida migliorata al conducente è molto ridotto e i vantaggi in termini di tempo risparmiato dal conducente possono essere misurati. Abbiamo effettuato le seguenti richieste:

  • Una richiesta di completamento automatico dell'API Places (nuova) per trovare il terminal 5 dell'aeroporto di Heathrow
  • Una richiesta dell'API Routes per ottenere un itinerario da Wembley al Terminal 5

Questo esempio mostra solo una minima parte delle nuove funzionalità dell'API Places. Dai un'occhiata ad alcuni dei nuovi tipi di luoghi come la pista di atterraggio e l'aeroporto internazionale.

Conclusione

Come puoi vedere, lo sforzo di sviluppo necessario per fornire un servizio premium ai tuoi clienti che viaggiano in auto è piuttosto ridotto e puoi dimostrare come stai pensando alle esigenze dei tuoi clienti.

Per scopi di sviluppo, puoi utilizzare molte delle librerie e degli strumenti disponibili per creare i servizi per i tuoi clienti. Dai un'occhiata al nostro repository GitHub per Google Maps Platform disponibile pubblicamente.

Azioni successive

Guida introduttiva a GMP : https://developers.google.com/maps/get-started

Letture consigliate

Documentazione del servizio di completamento automatico dell'API Places (novità): https://developers.google.com/maps/documentation/places/web-service/place-autocomplete

Documentazione dell'API Routes: https://developers.google.com/maps/documentation/routes

Collaboratori

Autore principale: Mikko Toivanen | Solutions Engineer di Google Maps Platform