Slik bruker du TomTom Routing API for estimert ankomsttid

En veiledning om bruk av API-en vår for å beregne en nøyaktig ankomsttid

(Bre Teiko) (22. okt 2020)

EN RASK SAMMENDRAG AV RUTE-APIEN

Routing API er et kraftig verktøy som kan brukes til å få nøyaktige retninger for forskjellige typer kjøretøy – med ruter som den raskeste, korteste, mest spennende osv. Det kan også gi deg den geometriske formen på ønsket rute og instruksjoner.

Men en oversett funksjon fra API er muligheten til å hente et sammendrag av de forespurte rutene. Det er nyttig å vise muligheter for brukeren, som i dette eksemplet: vi trenger å finne nærmeste sykehus eller apotek. Ved å få oppsummeringene kan vi tilby et bedre utvalg ved hjelp av Matrix Routing-eksempelet funnet her .

Et annet klassisk bruksområde for dette er en Ride Sharing-applikasjon. Å beregne en driver med beste valg fra en liste over leverandører spredt rundt i et område blir vanskelig når vi ikke trenger å lage ruter for å sammenligne, siden vi bare trenger enten kjøreavstand eller ETA. Dette er når Sammendraget virker magisk.

Sammendraget blir bedt om med følgende parameter:

Verdien polyline vil returnere ruten grafisk representasjon i en LatLng par-matrise, mens sammendraget Bare gir deg en ekstra JSON-seksjon i svaret som dette :

Det er noen interessante data her som skiller denne API-en spesielt fra andre:

  1. Du kan se at det er forskjellige ETAer uten trafikk, direktetrafikk og historisk trafikkhensyn.
  2. Du kan få alternative ruter og se hvor mye avvik fra den opprinnelige.

MERK: Avvikene og alternative ruter er bare tilgjengelige når en innledende rute er beregnes først.

MERKNAD 2: Drivstofforbruket på er estimert. Men hvis vi passerer forbruksmodeller – for elektriske kjøretøyer eller forbrenningsmotorkjøretøyer – blir beregningen mye mer nøyaktig.

La oss nå ta en titt på en real- livseksempel …

ULIKE TYPER, FORSKJELLIGE ETASER

Vi skal sjekke noen forskjellige ETAer fra hotellet vårt i sentrum av Chicago – hva med «La Quinta Inn»? For dette hotellet bruker vi plasseringen:

Fra hotellet vil vi finne et nærhet til en restaurant, en Cajun kreolsk restaurant. For dette kan vi bruke Category search API [ https://developer.tomtom.com/search-api/search-api-documentation-search/category-search] for å få en liste over mulige restauranter rundt hotellet (ved å bruke LatLng of the Hotel som Position Bias).

Fjerner ubrukte data, får vi en liten liste. Dette er det første elementet:

Så kan du se, vi får også avstanden til hotellet vårt som en del av resultatet. Men denne verdien – i meter – er et direkte synspunkt, ikke den virkelige avstanden ved å kjøre eller gå. Du kan replikere resultatene mine ved å utføre denne Curl-kommandoen.

For den virkelige kjøreavstanden bruker vi Routing API, og ber bare om sammendraget og legger til muligheten for å beregne for forskjellige reisetider. Dette er API-endepunktet som vi kan bruke:

Som gir oss:

Selv om dette er bra nok for nå, må vi få enda flere ruter å sammenligne, og for det er ingenting bedre enn å bruke Matrix Routing API.

FÅ ALLE MULIGE RUTER / RUTER TIL MANGE DESTINASJONER

Fra dokumentasjonen i utviklerportalen vår:

Matrix Routing-tjenesten muliggjør beregning av en matrise av rutesammendrag for et sett med ruter definert med opprinnelses- og destinasjonssteder.

  • For hver gitt opprinnelse beregner denne tjenesten kostnadene for ruting fra den opprinnelsen til hvert gitt mål.
  • Opprinnelsessettet og destinasjonssettet kan betraktes som kolonne- og radoverskriftene til en tabell, mens hver celle i tabellen inneholder kostnadene ved ruting fra opprinnelse til destinasjonen for den cellen.

Følgende kostnader beregnes for hver rute:

  • Reisetider
  • Avstander

Sjekk hele dokumentasjonen her: https://developer.tomtom.com/routing-api/routing-api-documentation-matrix-routing/synchronous-matrix

Dette ser ut som det vi trenger.

I vårt tilfelle skal vi beregne kjøre- og fotgjengersammendrag slik at vi kan bestemme om vi vil gå eller kjøre, og siden forespørslene er enkle nok – ingen kompliserte ruter her – så vi kan bruke den synkrone versjonen: Vi vil vente på svar når alle rutene er beregnet.

MERK: Den synkroniserte versjonen av matrix routing API vil timeout af ter 60 sek, så husk å bruke den bare med små ruter.

Sluttpunktet er en HTTP-POST-forespørsel. Dette er URL-en vi skal bruke:

POST-organet: Her vil vi stille de forskjellige rutene (samme opprinnelse, forskjellige destinasjoner). Det følger dette formatet:

Så i vårt tilfelle dette er vår POST Body:

Med denne forespørselen får vi følgende resultat, avkortet for redaksjonelle formål:

For hvert mål får vi et svarobjekt og dets rutesammendrag med den nødvendige informasjonen vi fikk fra å utføre en enkel samtale. Her ser vi at restauranten ‘Cajun Grill’ er nærmest oss for kjøring. Med dette kan vi fylle ut en liste eller en skjerm for brukeren. Prøv å endre reisemodus til fotgjenger hvis du ønsker en turvei. Eks. For gangruter:

Bruk av denne forespørselen ser vi at restauranten Cajun Grill OGSÅ er nærmest oss innen gangavstand, men i tilfelle vi har forskjellige restauranter å velge mellom, kan vi alltid bruke Batch Routing API til å lage alle nødvendige ruter ved hjelp av en enkelt ring: https://developer.tomtom.com/routing-api/routing-api-documentation/batch-routing

Denne måten vi oppretter bare rutene som vi trenger å vise til brukeren.

I SAMMENDRAG

I denne artikkelen tok vi en titt på Routing API og hvordan vi kan hente ETA og reell kjøring eller gangavstander via Sammendrag-objektet i responsen til Matrix Routing API.

Matrix Routing API lar oss hente forskjellige sammendrag med en enkelt samtale der vi kan få slike ETAer fra forskjellige destinasjoner.

Jeg håper denne artikkelen hjelper deg med å forstå TomTom Routing API bedre – takk for re ading and Happy Mapping!

For å lære mer om TomToms tjenester og løsninger for mobilitet og transporttjenester i siste liten, sjekk ut siden Mobility and On-Demand her .

Denne artikkelen dukket opprinnelig opp på https://developer.tomtom.com/blog . Den opprinnelige forfatteren er Jose Jose Rojas.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *