Pobieranie macierzy tras w transporcie publicznym

Pobierz macierz tras transportu publicznego, która korzysta z dostępnych w regionie opcji transportu publicznego. Środki transportu mogą obejmować między innymi autobusy, metro i pociągi.

Więcej informacji znajdziesz w artykule Wyznaczanie trasy transportem publicznym.

Przykładowa macierz tras transportu publicznego

W tym przykładzie obliczamy macierz tras dla transportu publicznego z żądaniem opłaty za przejazd oprócz masek pól typowych dla tablicy tras:

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ź tablicy tras transportu publicznego

Oto odpowiedź z żądania macierzy tras transportu publicznego:

[
    {
        "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"
    }
]