Solicitar dados de trânsito públicos usando o serviço de mobilidade do Azure MapsRequest public transit data using the Azure Maps Mobility service

Este artigo mostra como usar o serviço de mobilidade do Azure Maps para solicitar dados de trânsito públicos.This article shows you how to use Azure Maps Mobility service to request public transit data. Os dados de trânsito incluem interrupções de trânsito, informações de rota e estimativas de tempo de viagem.Transit data includes transit stops, route information, and travel time estimations.

Neste artigo, você aprenderá a:In this article you'll learn, how to:

Pré-requisitosPrerequisites

  1. Fazer uma conta do Azure MapasMake an Azure Maps account
  2. Obtenha uma chave de assinatura primária, também conhecida como a chave primária ou a chave de assinatura.Obtain a primary subscription key, also known as the primary key or the subscription key. Para obter mais informações sobre a autenticação nos Azure Mapas, confira Gerenciar a autenticação nos Azure Mapas.For more information on authentication in Azure Maps, see manage authentication in Azure Maps.

Este tutorial usa o aplicativo Postman, mas você pode escolher um ambiente de desenvolvimento de API diferente.This tutorial uses the Postman application, but you may choose a different API development environment.

Obter uma ID de área de metrôGet a metro area ID

Para solicitar informações detalhadas sobre as agências de trânsito e os tipos de trânsito com suporte para uma área metropolitana específica, você precisará metroId do dessa área.In order to request detail information about transit agencies and supported transit types for a particular metropolitan area, you'll need the metroId of that area. A API obter área de metrô permite que você solicite áreas de metrô, nas quais o serviço de mobilidade do Azure Maps está disponível.The Get Metro Area API allows you to request metro areas, in which the Azure Maps Mobility service is available. A resposta inclui detalhes como metroId , metroName e a representação da geometria da área de metrô no formato geojson.The response includes details such as the metroId, metroName, and the representation of the metro area geometry in GeoJSON format.

Vamos fazer uma solicitação para obter a área de metrô para a ID da área do metro de Seattle-Tacoma.Let's make a request to get the Metro Area for the Seattle-Tacoma metro area ID. Para solicitar a ID de uma área de metrô, conclua as seguintes etapas:To request ID for a metro area, complete the following steps:

  1. Abra o aplicativo do postmaster e vamos criar uma coleção para armazenar as solicitações.Open the Postman app, and let's create a collection to store the requests. Próximo à parte superior do aplicativo Postman, selecione Novo.Near the top of the Postman app, select New. Na janela Criar, selecione Coleção.In the Create New window, select Collection. Nomeie a coleção e selecione o botão Criar.Name the collection and select the Create button.

  2. Para criar a solicitação, selecione Novo outra vez.To create the request, select New again. Na janela Criar, selecione Solicitação.In the Create New window, select Request. Insira um Nome de solicitação para a solicitação.Enter a Request name for the request. Selecione a coleção que você criou na etapa anterior como o local no qual salvar a solicitação.Select the collection you created in the previous step as the location in which to save the request. Em seguida, selecione Salvar.Then, select Save.

    Criar uma solicitação no postmaster

  3. Selecione o método http Get na guia Construtor e insira a URL a seguir para criar uma solicitação get.Select the GET HTTP method on the builder tab and enter the following URL to create a GET request. Substitua {subscription-key} , por sua chave primária do Azure Maps.Replace {subscription-key}, with your Azure Maps primary key.

    https://atlas.microsoft.com/mobility/metroArea/id/json?subscription-key={subscription-key}&api-version=1.0&query=47.63096,-122.126
    
  4. Após uma solicitação bem-sucedida, você receberá a seguinte resposta:After a successful request, you'll receive the following response:

    {
        "results": [
            {
                "metroId": 522,
                "metroName": "Seattle–Tacoma–Bellevue, WA",
                "viewport": {
                    "topLeftPoint": {
                        "latitude": 48.5853,
                        "longitude": -124.80934
                    },
                    "btmRightPoint": {
                        "latitude": 46.90534,
                        "longitude": -121.55032
                    }
                },
                "geometry": {
                    "type": "Polygon",
                    "coordinates": [
                        [
                            [
                                -121.99604,
                                47.16147
                            ],
                            [
                                -121.97051,
                                47.17222
                            ],
                            [
                                -121.96308,
                                47.17671
                            ],
                            ...,
                            ...,
                            ...,
                            [
                                -122.01525,
                                47.16008
                            ],
                            [
                                -122.00553,
                                47.15919
                            ],
                            [
                                -121.99604,
                                47.16147
                            ]
                        ]
                    ]
                }
            }
        ]
    }
    

Solicitar paradas de trânsito próximoRequest nearby transit stops

O Azure Maps obter serviço de trânsito próximo permite que você pesquise objetos de trânsito.The Azure Maps Get Nearby Transit service allows you to search transit objects. A API retorna os detalhes do objeto de trânsito, como interrupções de trânsito públicos e bicicletas compartilhadas em um determinado local.The API returns the transit object details, such as public transit stops and shared bikes around a given location. Em seguida, faremos uma solicitação ao serviço para pesquisar interrupções de trânsito públicos em um raio de 300 metros em relação ao local determinado.Next, we'll make a request to the service to search for nearby public transit stops within a 300-meters radius around the given location.

Para fazer uma solicitação para obter o trânsito próximo, siga as etapas abaixo:To make a request to the Get Nearby Transit, follow the steps below:

  1. No postmaster, clique em nova solicitação | obter solicitação e nomeie-a para paradas próximas.In Postman, click New Request | GET request and name it Get Nearby stops.

  2. Na guia Construtor, selecione o método http Get , insira a URL de solicitação a seguir para seu ponto de extremidade de API e clique em Enviar.On the Builder tab, select the GET HTTP method, enter the following request URL for your API endpoint and click Send.

    https://atlas.microsoft.com/mobility/transit/nearby/json?subscription-key={subscription-key}&api-version=1.0&query=47.63096,-122.126&radius=300&objectType=stop
    
  3. Após uma solicitação bem-sucedida, a estrutura de resposta deve ser parecida com a seguinte:After a successful request, the response structure should look like the one below:

    {
        "results": [
            {
                "id": "522---2060603",
                "type": "stop",
                "objectDetails": {
                    "stopKey": "71300",
                    "stopName": "NE 24th St & 162nd Ave NE",
                    "stopCode": "71300",
                    "mainTransitType": "Bus",
                    "mainAgencyId": "522---5872",
                    "mainAgencyName": "Metro Transit"
                },
                "position": {
                    "latitude": 47.631504,
                    "longitude": -122.125275
                },
                "viewport": {
                    "topLeftPoint": {
                        "latitude": 47.632413,
                        "longitude": -122.12659
                    },
                    "btmRightPoint": {
                        "latitude": 47.630594,
                        "longitude": -122.123959
                    }
                }
            },
            {
                "id": "522---2061020",
                "type": "stop",
                "objectDetails": {
                    "stopKey": "68372",
                    "stopName": "NE 24th St & 160th Ave NE",
                    "stopCode": "68372",
                    "mainTransitType": "Bus",
                    "mainAgencyId": "522---5872",
                    "mainAgencyName": "Metro Transit"
                },
                "position": {
                    "latitude": 47.631409,
                    "longitude": -122.127136
                },
                "viewport": {
                    "topLeftPoint": {
                        "latitude": 47.632318,
                        "longitude": -122.128451
                    },
                    "btmRightPoint": {
                        "latitude": 47.630499,
                        "longitude": -122.12582
                    }
                }
            },
            {
                "id": "522---2060604",
                "type": "stop",
                "objectDetails": {
                    "stopKey": "71310",
                    "stopName": "NE 24th St & 160th Ave NE",
                    "stopCode": "71310",
                    "mainTransitType": "Bus",
                    "mainAgencyId": "522---5872",
                    "mainAgencyName": "Metro Transit"
                },
                "position": {
                    "latitude": 47.631565,
                    "longitude": -122.127808
                },
                "viewport": {
                    "topLeftPoint": {
                        "latitude": 47.632474,
                        "longitude": -122.129124
                    },
                    "btmRightPoint": {
                        "latitude": 47.630655,
                        "longitude": -122.126492
                    }
                }
            }
        ]
    } 
    

Se você observar a estrutura de resposta com cuidado, verá que ela contém parâmetros para cada objeto de trânsito.If you observe the response structure carefully, you'll see that it contains parameters for each transit object. Cada objeto de trânsito tem parâmetros como id , type , stopName , mainTransitType , mainAgencyName e a posição, em coordenadas, do objeto.Each transit object has parameters such as id, type, stopName, mainTransitType, mainAgencyName, and the position, in coordinates, of the object.

Para fins de aprendizado, usaremos um id de um barramento paradas como origem, para nossa rota na próxima seção.For the purpose of learning, we'll use an id of a bus stops as the origin, for our route in the next section.

Solicitar uma rota de trânsitoRequest a transit route

A API de obtenção de rotas de trânsito do Azure Maps permite o planejamento de viagens.The Azure Maps Get Transit Routes API allows trip planning. Ele retorna as melhores opções de rota possíveis de uma origem para um destino.It returns the best possible route options from an origin to a destination. O serviço fornece um tipo diferente de modos de viagem, incluindo movimentação, semiking e trânsito público.The service provides different kind of travel modes, including walking, biking, and public transit. Em seguida, Pesquisaremos uma rota da parada do barramento mais próximo para a torre de agulha de espaço em Seattle.Next, we'll search a route from the closest bus stop to the Space Needle tower in Seattle.

Obter coordenadas de localização para o destinoGet location coordinates for destination

Para obter as coordenadas de localização do espaço de agulha da torre, usaremos o serviço de pesquisa difusado Azure Maps.To obtain the location coordinates of the Space Needle tower, we'll use the Azure Maps Fuzzy Search service.

Para fazer uma solicitação para o serviço de pesquisa difusa, siga as etapas abaixo:To make a request to the Fuzzy search service, follow the steps below:

  1. No postmaster, clique em nova solicitação | obter solicitação e nomeie-a como obter coordenadas de localização.In Postman, click New Request | GET request and name it Get location coordinates.

  2. Na guia Construtor, selecione o método http Get , insira a URL de solicitação a seguir e clique em Enviar.On the Builder tab, select the GET HTTP method, enter the following request URL, and click Send.

    https://atlas.microsoft.com/search/fuzzy/json?subscription-key={subscription-key}&api-version=1.0&query=space needle
    
  3. Se você examinar a resposta com cuidado, ela conterá vários locais nos resultados da pesquisa de agulha de espaço.If you look at the response carefully, it contains multiple locations in the results for the Space Needle search. Cada resultado contém as coordenadas de local na posição.Each result contains the location coordinates under the position. Copie o lat e lon abaixo da posição do primeiro resultado.Copy the lat and lon under the position of the first result.

    {
         "summary": {
             "query": "space needle",
             "queryType": "NON_NEAR",
             "queryTime": 35,
             "numResults": 8,
             "offset": 0,
             "totalResults": 11,
             "fuzzyLevel": 1
         },
         "results": [
             {
                 "type": "POI",
                 "id": "US/POI/p0/6993440",
                 "score": 4.67369,
                 "info": "search:ta:840539001406144-US",
                 "poi": {
                     "name": "Space Needle",
                     "phone": "+(1)-(206)-9052100",
                     "categorySet": [
                         {
                             "id": 7376009
                         }
                     ],
                     "url": "www.spaceneedle.com",
                     "categories": [
                         "important tourist attraction",
                         "tower"
                     ],
                     "classifications": [
                         {
                             "code": "IMPORTANT_TOURIST_ATTRACTION",
                             "names": [
                                 {
                                     "nameLocale": "en-US",
                                     "name": "important tourist attraction"
                                 },
                                 {
                                     "nameLocale": "en-US",
                                     "name": "tower"
                                 }
                             ]
                         }
                     ]
                 },
                 "address": {
                     "streetNumber": "400",
                     "streetName": "Broad St",
                     "municipalitySubdivision": "South Lake Union, Seattle, Lower Queen Anne",
                     "municipality": "Seattle",
                     "countrySecondarySubdivision": "King",
                     "countryTertiarySubdivision": "Seattle",
                     "countrySubdivision": "WA",
                     "postalCode": "98109",
                     "countryCode": "US",
                     "country": "United States",
                     "countryCodeISO3": "USA",
                     "freeformAddress": "400 Broad St, Seattle, WA 98109",
                     "localName": "Seattle",
                     "countrySubdivisionName": "Washington"
                 },
                 "position": {
                     "lat": 47.62039,
                     "lon": -122.34928
                 },
                 "viewport": {
                     "topLeftPoint": {
                         "lat": 47.62129,
                         "lon": -122.35061
                     },
                     "btmRightPoint": {
                         "lat": 47.61949,
                         "lon": -122.34795
                     }
                 },
                 "entryPoints": [
                     {
                         "type": "main",
                         "position": {
                             "lat": 47.61982,
                             "lon": -122.34886
                         }
                     }
                 ]
             },
             ...,
             ...,
             ...
         ]
     }
    

Rota de solicitaçãoRequest route

Para fazer uma solicitação de rota, conclua as etapas abaixo:To make a route request, complete the steps below:

  1. No postmaster, clique em nova solicitação | obter solicitação e nomeie-a obter informações de rota.In Postman, click New Request | GET request and name it Get Route info.

  2. Na guia Construtor, selecione o método http Get , insira a URL de solicitação a seguir para seu ponto de extremidade de API e clique em Enviar.On the Builder tab, select the GET HTTP method, enter the following request URL for your API endpoint and click Send.

    Solicitaremos rotas de trânsito públicas para um barramento especificando os modeType parâmetros e transitType .We'll request public transit routes for a bus by specifying the modeType and transitType parameters. A URL da solicitação contém os locais recuperados nas seções anteriores.The request URL contains the locations retrieved in the previous sections. Para o originType , agora temos um StopId.For the originType, we now have a stopId. E, para o destionationType , temos a posição.And for the destionationType, we have the position.

    Consulte a lista de parâmetros de URI que você pode usar em sua solicitação para a API obter rotas de trânsito.See the list of URI parameters you can use in your request to the Get Transit Routes API.

    https://atlas.microsoft.com/mobility/transit/route/json?subscription-key={subscription-key}&api-version=1.0&originType=stopId&origin=522---2060603&destionationType=position&destination=47.62039,-122.34928&modeType=publicTransit&transitType=bus
    
  3. Após uma solicitação bem-sucedida, a estrutura de resposta deve ser parecida com a seguinte:Upon a successful request, the response structure should look like the one below:

    {
        "results": [
            {
                "itineraryId": "cb6b6b6f-5cda-451e-b68d-2e97971dd60c---20190906BBBEC4D2219A436A9D794224978C9BBF:0---522",
                "departureTime": "2019-09-07T01:01:50Z",
                "arrivalTime": "2019-09-07T02:16:33Z",
                "travelTimeInSeconds": 4483,
                "numberOfLegs": 8,
                "legs": [
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T01:01:50Z",
                        "legEndTime": "2019-09-07T01:01:50Z",
                        "caption": "249"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T01:01:50Z",
                        "legEndTime": "2019-09-07T01:26:00Z",
                        "caption": "249",
                        "lengthInMeters": 9139
                    },
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T01:26:00Z",
                        "legEndTime": "2019-09-07T01:28:00Z",
                        "caption": "255"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T01:28:00Z",
                        "legEndTime": "2019-09-07T01:57:21Z",
                        "caption": "255",
                        "lengthInMeters": 13136
                    },
                    {
                        "legType": "Walk",
                        "legStartTime": "2019-09-07T01:57:22Z",
                        "legEndTime": "2019-09-07T02:01:27Z",
                        "caption": "Denny Way",
                        "lengthInMeters": 308
                    },
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T02:01:27Z",
                        "legEndTime": "2019-09-07T02:06:33Z",
                        "caption": "8"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T02:06:33Z",
                        "legEndTime": "2019-09-07T02:12:41Z",
                        "caption": "8",
                        "lengthInMeters": 1060
                    },
                    {
                        "legType": "Walk",
                        "legStartTime": "2019-09-07T02:12:42Z",
                        "legEndTime": "2019-09-07T02:16:33Z",
                        "lengthInMeters": 251
                    }
                ],
                "itineraryFare": {
                    "price": {
                        "amount": 550,
                        "currencyCode": "USD"
                    },
                    "tickets": [
                        {
                            "amount": 275,
                            "currencyCode": "USD"
                        },
                        {
                            "amount": 275,
                            "currencyCode": "USD"
                        }
                    ]
                }
            },
            ...,
            {
                "itineraryId": "cb6b6b6f-5cda-451e-b68d-2e97971dd60c---20190906BBBEC4D2219A436A9D794224978C9BBF:2---522",
                "departureTime": "2019-09-07T00:49:32Z",
                "arrivalTime": "2019-09-07T02:20:06Z",
                "travelTimeInSeconds": 5434,
                "numberOfLegs": 10,
                "legs": [
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T00:49:32Z",
                        "legEndTime": "2019-09-07T00:49:32Z",
                        "caption": "226"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T00:49:32Z",
                        "legEndTime": "2019-09-07T01:15:00Z",
                        "caption": "226",
                        "lengthInMeters": 6792
                    },
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T01:15:00Z",
                        "legEndTime": "2019-09-07T01:20:00Z",
                        "caption": "241"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T01:20:00Z",
                        "legEndTime": "2019-09-07T01:28:00Z",
                        "caption": "241",
                        "lengthInMeters": 3397
                    },
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T01:28:00Z",
                        "legEndTime": "2019-09-07T01:33:00Z",
                        "caption": "550"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T01:33:00Z",
                        "legEndTime": "2019-09-07T01:58:00Z",
                        "caption": "550",
                        "lengthInMeters": 12899
                    },
                    {
                        "legType": "Walk",
                        "legStartTime": "2019-09-07T01:58:01Z",
                        "legEndTime": "2019-09-07T01:59:21Z",
                        "caption": "4th Avenue South",
                        "lengthInMeters": 99
                    },
                    {
                        "legType": "Wait",
                        "legStartTime": "2019-09-07T01:59:21Z",
                        "legEndTime": "2019-09-07T02:01:00Z",
                        "caption": "33"
                    },
                    {
                        "legType": "Bus",
                        "legStartTime": "2019-09-07T02:01:00Z",
                        "legEndTime": "2019-09-07T02:13:29Z",
                        "caption": "33,24",
                        "lengthInMeters": 2447
                    },
                    {
                        "legType": "Walk",
                        "legStartTime": "2019-09-07T02:13:30Z",
                        "legEndTime": "2019-09-07T02:20:06Z",
                        "lengthInMeters": 457
                    }
                ],
                "itineraryFare": {
                    "price": {
                        "amount": 550,
                        "currencyCode": "USD"
                    },
                    "tickets": [
                        {
                            "amount": 275,
                            "currencyCode": "USD"
                        },
                        {
                            "amount": 275,
                            "currencyCode": "USD"
                        }
                    ]
                }
            }
        ]
    }
    
  4. Se você observar com cuidado, há várias rotas de barramento na resposta.If you observe carefully, there are multiple bus routes in the response. Cada rota tem uma ID de itinerárioexclusiva, um resumo que descreve cada segmento da rota e um itineraryFare que fornece o preço total e discriminado para tíquetes de barramento.Each route has a unique itinerary ID, a summary that describes each leg of the route, and an itineraryFare that gives both the itemized and total price for bus tickets. Um trecho de rota é a parte da rota entre duas Marcos de parada.A route leg is the part of the route between two stop waypoints. Em seguida, solicitaremos detalhes para a rota mais rápida usando o itineraryId na resposta.Next, we'll request details for the fastest route using the itineraryId in the response.

Solicitar itinerário de rota mais rápidoRequest fastest route itinerary

O serviço de itinerário de obtenção de trânsito do Azure Maps permite solicitar dados para uma rota específica usando a ID de itinerário da rota retornada pelo serviço de API obter rotas de trânsito .The Azure Maps Get Transit Itinerary service allows you to request data for a particular route using the route's itinerary ID returned by the Get Transit Routes API service. Para fazer uma solicitação, conclua as etapas abaixo:To make a request, complete the steps below:

  1. No postmaster, clique em nova solicitação | obter solicitação e nomeie-a como obter informações sobre o trânsito.In Postman, click New Request | GET request and name it Get Transit info.

  2. Na guia Construtor, selecione o método http Get .On the Builder tab, select the GET HTTP method. Insira a URL de solicitação a seguir para seu ponto de extremidade de API e clique em Enviar.Enter the following request URL for your API endpoint and click Send.

    Vamos definir o detailType parâmetro como Geometry para que a resposta contenha informações de parada para trânsito público e ative a navegação para os segmentos de passeio e bicicleta da rota.We'll set the detailType parameter to geometry so that the response contains stop information for public transit and turn-by-turn navigation for walk and bike legs of the route.

    https://atlas.microsoft.com/mobility/transit/itinerary/json?api-version=1.0&subscription-key={subscription-key}&query={itineraryId}&detailType=geometry
    
  3. Após uma solicitação bem-sucedida, a estrutura de resposta deve ser semelhante à seguinte.Upon a successful request, the response structure should look like the one below. Se você observar a resposta JSON, observará que cada segmento de barramento contém um legfare elemento.If you observe the JSON response, you'll notice that each bus leg contains a legfare element. O legfare elemento contém o custo, em centavos, de cada rota de barramento que é comprada separadamente.The legfare element contains the cost, in cents, of each bus route that is purchased separately. No final da resposta, você verá um itineraryFare elemento que contém o custo, em centavos, da rota inteira.At the end of the response, you'll see an itineraryFare element that contains the cost, in cents, of the entire route. Neste exemplo, há quatro rotas de barramento em $2.75 cada.In this example, there are four bus routes at $2.75 each. No entanto, se você comprar um único tíquete para toda a rota, o custo será $5.50 .However, if you purchase a single ticket for the entire route, the cost is $5.50.

    {
        "departureTime": "2020-07-22T19:54:47Z",
        "arrivalTime": "2020-07-22T21:12:21Z",
        "legs": [
            {
                "legType": "Wait",
                "legStartTime": "2020-07-22T19:54:47Z",
                "legEndTime": "2020-07-22T19:54:47Z",
                "lineGroup": {
                    "lineGroupId": "522---666063",
                    "agencyId": "522---5872",
                    "agencyName": "Metro Transit",
                    "lineNumber": "226",
                    "caption1": "Eastgate P&R-Crossroads-Overlake-Bellevue TC",
                    "caption2": "226 Eastgate P&R-Crossroads-Overlake-Bellevue TC",
                    "color": "347E5D",
                    "transitType": "Bus"
                },
                "line": {
                    "lineId": "522---2756599",
                    "lineGroupId": "522---666063",
                    "direction": "forward",
                    "agencyId": "522---5872",
                    "lineNumber": "226",
                    "lineDestination": "Bellevue Transit Center Crossroads"
                },
                "stops": [
                    {
                        "stopId": "522---2060603",
                        "stopKey": "71300",
                        "stopName": "NE 24th St & 162nd Ave NE",
                        "stopCode": "71300",
                        "position": {
                            "latitude": 47.631504,
                            "longitude": -122.125275
                        },
                        "mainTransitType": "Bus",
                        "mainAgencyId": "522---5872",
                        "mainAgencyName": "Metro Transit"
                    },
                    {
                        "stopId": "522---2062263",
                        "stopKey": "85630",
                        "stopName": "Bellevue Tc",
                        "stopCode": "85630",
                        "position": {
                            "latitude": 47.615591,
                            "longitude": -122.196491
                        },
                        "mainTransitType": "Bus",
                        "mainAgencyId": "522---5872",
                        "mainAgencyName": "Metro Transit"
                    }
                ],
                "waitOnVehicle": false
            },
            {
                "legType": "Bus",
                "legStartTime": "2020-07-22T19:54:47Z",
                "legEndTime": "2020-07-22T20:15:00Z",
                "lineGroup": {
                    "lineGroupId": "522---666063",
                    "agencyId": "522---5872",
                    "agencyName": "Metro Transit",
                    "lineNumber": "226",
                    "caption1": "Eastgate P&R-Crossroads-Overlake-Bellevue TC",
                    "caption2": "226 Eastgate P&R-Crossroads-Overlake-Bellevue TC",
                    "color": "347E5D",
                    "transitType": "Bus"
                },
                "line": {
                    "lineId": "522---2756599",
                    "lineGroupId": "522---666063",
                    "direction": "forward",
                    "agencyId": "522---5872",
                    "lineNumber": "226",
                    "lineDestination": "Bellevue Transit Center Crossroads"
                },
                "stops": [
                   ...
                ],
                "geometry": {
                    "type": "LineString",
                    "coordinates": [
                       ...
                    ]
                },
                "legFare": {
                    "fares": [
                        {
                            "price": {
                                "amount": 275,
                                "currencyCode": "USD"
                            },
                            "usage": "pay"
                        }
                    ]
                }
            },
            ...,
            ...,
            {
                "legType": "Bus",
                "legStartTime": "2020-07-22T20:20:00Z",
                "legEndTime": "2020-07-22T20:28:00Z",
                "lineGroup": {
                    "lineGroupId": "522---666071",
                    "agencyId": "522---5872",
                    "agencyName": "Metro Transit",
                    "lineNumber": "241",
                    "caption1": "Eastgate P&R - Bellevue Transit Center",
                    "caption2": "241 Eastgate P&R - Bellevue Transit Center",
                    "color": "347E5D",
                    "transitType": "Bus"
                },
                "line": {
                    "lineId": "522---2756619",
                    "lineGroupId": "522---666071",
                    "direction": "backward",
                    "agencyId": "522---5872",
                    "lineNumber": "241",
                    "lineDestination": "Eastgate P&R Factoria"
                },
                "stops": [
                ...
                ],
                "geometry": {
                    "type": "LineString",
                    "coordinates": [
                   ...
                    ]
                },
                "legFare": {
                    "fares": [
                        {
                            "price": {
                                "amount": 275,
                                "currencyCode": "USD"
                            },
                            "usage": "transfer"
                        }
                    ]
                }
            },
            ...,
            {
                "legType": "Bus",
                "legStartTime": "2020-07-22T20:31:00Z",
                "legEndTime": "2020-07-22T20:54:13Z",
                "lineGroup": {
                    "lineGroupId": "522---312636",
                    "agencyId": "522---854535",
                    "agencyName": "Sound Transit",
                    "lineNumber": "550",
                    "caption1": "Bellevue - Seattle",
                    "caption2": "550 Bellevue - Seattle",
                    "color": "00008B",
                    "transitType": "Bus"
                },
                "line": {
                    "lineId": "522---962201",
                    "lineGroupId": "522---312636",
                    "direction": "backward",
                    "agencyId": "522---854535",
                    "lineNumber": "550",
                    "lineDestination": "Seattle"
                },
                "stops": [
                   ...
                ],
                "geometry": {
                    "type": "LineString",
                    "coordinates": [
                 ...
                    ]
                },
                "legFare": {
                    "fares": [
                        {
                            "price": {
                                "amount": 275,
                                "currencyCode": "USD"
                            },
                            "usage": "pay"
                        }
                    ]
                }
            },
            ...,
            ...,
            {
                "legType": "Bus",
                "legStartTime": "2020-07-22T20:57:00Z",
                "legEndTime": "2020-07-22T21:06:00Z",
                "lineGroup": {
                    "lineGroupId": "522---480518",
                    "agencyId": "522---5872",
                    "agencyName": "Metro Transit",
                    "lineNumber": "13",
                    "caption1": "Seattle Pacific - Downtown Seattle",
                    "caption2": "13 Seattle Pacific - Downtown Seattle",
                    "color": "347E5D",
                    "transitType": "Bus"
                },
                "line": {
                    "lineId": "522---1744932",
                    "lineGroupId": "522---480518",
                    "direction": "forward",
                    "agencyId": "522---5872",
                    "lineNumber": "13",
                    "lineDestination": "Seattle Pacific University Seattle Center W"
                },
                "stops": [
                   ...
                ],
                "geometry": {
                    "type": "LineString",
                    "coordinates": [
                      ...
                    ]
                },
                "legFare": {
                    "fares": [
                        {
                            "price": {
                                "amount": 275,
                                "currencyCode": "USD"
                            },
                            "usage": "transfer"
                        }
                    ]
                }
            },
            ...,
        ],
        "itineraryFare": {
            "price": {
                "amount": 550,
                "currencyCode": "USD"
            },
            "tickets": [
                {
                    "amount": 275,
                    "currencyCode": "USD"
                },
                {
                    "amount": 275,
                    "currencyCode": "USD"
                }
            ]
        }
    }
    
    

Próximas etapasNext steps

Saiba como solicitar dados em tempo real usando o serviço de mobilidade:Learn how to request real-time data using Mobility service:

Explore a documentação da API do serviço de mobilidade do Azure MapsExplore the Azure Maps Mobility service API documentation