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 le versioni precedenti delle API GMP. Questo contenuto è aggiornato alla nuova versione dell'API Places lanciata nel 2023-24 e dell'API Routes lanciata nel 2023.

In genere, quando l'utente si dirige verso un punto di interesse (PDI), in realtà ha bisogno di indicazioni stradali per una località vicina, ad esempio un parcheggio o un punto di accesso. Immagina un conducente che deve andare in un aeroporto o in un centro commerciale. Quando si dirige verso un aeroporto, il conducente cerca di raggiungere un terminal o un punto di scarico, anziché 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 il conducente, trova prima la località in cui si sta dirigendo e poi offri al conducente destinazioni facoltative nelle vicinanze. Questo approccio ti consente di fornire un servizio migliore ai tuoi clienti e di dimostrare che tieni al loro tempo, con un piccolo ma intelligente sforzo di sviluppo che sfrutta i dati sulla posizione forniti da Google Maps Platform.

Diagramma di sistema

Ti mostreremo come utilizzare la nuova API Places e l'API Routes in sequenza o in combinazione per identificare la posizione giusta in cui parcheggiare vicino alla tua destinazione. Questa soluzione mira a eliminare l'incertezza e le interazioni multiple per trovare un posto in cui parcheggiare mentre si guida 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 località non direttamente collegata alla 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

Il conducente 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 di esempio utilizza la ricerca di testo per trovare Notre Dame. Per ulteriori informazioni, consulta la documentazione per sviluppatori. Il "$APIKEY" in questi esempi è la chiave API che hai per le API Places e Routes di Google Maps Platform abilitate nella console Google Cloud. Per una spiegazione più dettagliata, consulta la documentazione per 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 un fieldmask nell'intestazione. L'utilizzo del 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 il contenuto "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, è una buona idea chiedere automaticamente al conducente "Cerchi un parcheggio vicino a Notre Dame?" o, se il conducente 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 valere la pena prendere in considerazione un testo di dialogo discreto che scompare dopo un breve periodo di tempo. Per trovare un parcheggio vicino a Notre Dame, esegui una ricerca nelle vicinanze dell'API Places con i tipi "parking" e "electric_vehicle_charging_station" con un raggio di 500 metri. L'esempio seguente indirizzerà i risultati alle 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 in 48.854981, 2.350629, anche se quando esegui questo esempio, i risultati potrebbero variare. Utilizza questa località 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 eseguire una richiesta dell'API Routes. Imposta i parametri di origine e destinazione. Per altre opzioni, consulta la documentazione per 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 percorso. Per includere i dati del percorso nella risposta, definisci "routes.legs" nel fieldmask. Ogni percorso è composto da più "tratte" che contengono più "passaggi" 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'ultima tratta di un percorso selezionato. "latitude": 48.854937299999996, "longitude": 2.3505841999999997

Questa località potrebbe non sembrare la prima scelta, ma se guardi la mappa o Google Street View, scoprirai che questa località si trova a una distanza a piedi molto breve, circa 6-7 minuti, da Notre Dame.

Indicazioni stradali per Notre Dame

Percorso a piedi dalla posizione del parcheggio della stazione di ricarica a Notre Dame

Riepilogo per l'esempio 1

Come puoi vedere, trovare un'area di parcheggio per un'auto richiede solo alcune chiamate API e la visualizzazione del suggerimento al conducente. In questo modo, gli utenti risparmiano tempo perché non guidano su strade a senso unico o cercano un posto dove lasciare l'auto in un'attrazione turistica affollata. In sintesi, abbiamo eseguito 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'area di 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 stradali per un terminal in un grande aeroporto

Mappa dell'aeroporto di Heathrow

Considera un altro esempio in cui il conducente sta cercando di raggiungere una grande area con più località, PDI o potenziali punti di scarico. Il conducente 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.

La cosa interessante del completamento automatico della nuova API Places è la possibilità di definire un tipo principale come criteri di ricerca in combinazione con l'API che prevede le sottostrutture 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 in the 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 scarico di 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 indicare 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'

Anche in questo caso, 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à finali (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 indicazioni stradali migliorate al conducente è molto ridotto e i vantaggi in termini di tempo risparmiato dal conducente possono essere misurati. Abbiamo eseguito 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 percorso da Wembley al terminal 5

Questo esempio mostra solo una parte delle nuove funzionalità dell'API Places. Dai un'occhiata ad alcuni dei nuovi tipi di luoghi , come pista di atterraggio e 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 che stai pensando alle esigenze dei tuoi clienti.

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

Azioni successive

Iniziare a utilizzare GMP : https://developers.google.com/maps/get-started

Letture consigliate

Documentazione sul completamento automatico dell'API Places (nuova): 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