Pobieranie macierzy tras w transporcie publicznym

Uzyskaj tablicę tras dojazdu, która wykorzystuje opcje transportu publicznego dostępne w danym regionie. Opcje transportu mogą obejmować autobusy, metro i pociągi.

Więcej informacji znajdziesz w artykule Wyznaczanie trasy komunikacji miejskiej.

Przykładowa tablica tras tranzytowych

W tym przykładzie obliczana jest tablica tras dla przejazdu tranzytowego, w której oprócz masek pól typowych dla tablicy trasy wymagana jest stawka za przejazd tranzytowy:

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      }
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "TRANSIT"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition,travelAdvisory.transitFare' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Odpowiedź na macierz tras przenoszenia

Oto odpowiedź na żądanie dotyczące macierzy tras tranzytowych:

[
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 8709,
        "duration": "2754s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "2",
                "nanos": 500000000
            }
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 530,
        "duration": "394s",
        "travelAdvisory": {
            "transitFare": {}
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2934,
        "duration": "740s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "2",
                "nanos": 500000000
            }
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 9883,
        "duration": "3049s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "5"
            }
        },
        "condition": "ROUTE_EXISTS"
    }
]