Tuyến đường chuyển tuyến cung cấp hướng dẫn điều hướng sử dụng phương tiện công cộng hiện có trong khu vực. Bạn có thể chọn phương tiện công cộng như xe buýt, tàu điện ngầm và tàu hoả và nhiều loại nội dung khác. Tuyến đường chuyển tuyến cũng thường bao gồm hướng dẫn về đi bộ đến, đi từ và giữa các trạm phương tiện công cộng. Vì tuyến đường phương tiện công cộng thường yêu cầu bạn di chuyển bằng nhiều phương thức di chuyển. yêu cầu tuyến và một số phần của phản hồi khác nhau.
Tuyến đường phương tiện công cộng khác với các tuyến đường khác như thế nào
Các tuyến đường chuyển tuyến mà bạn yêu cầu bằng cách đặt TravelMode TRANSIT, khác nhau từ các tuyến đường sử dụng các tuỳ chọn TravelMode khác nhau. Bạn không thể yêu cầu cùng một đối tượng và tuỳ chọn. Phản hồi sẽ trả về khi so sánh với các tuyến đường khác.
Trong API Tuyến đường, các bước nhất quán là một hướng dẫn điều hướng cho mọi loại hình du lịch. Mỗi hướng dẫn điều hướng là một bước. Phương tiện công cộng phản hồi về tuyến đường rất giống với các tuyến đường có các phương thức đi lại khác, với một vài phím khác biệt:
Yêu cầu khác biệt | Sự khác biệt về câu trả lời |
---|---|
Bạn không thể chỉ định điểm tham chiếu trung gian. | Bao gồm chi tiết về Phương tiện công cộng. |
Không nhận được tuyến đường thân thiện với môi trường | Bao gồm siêu dữ liệu cho mỗi phương tiện đi lại có chứa bản tóm tắt các bước để thực hiện phương tiện đi lại đó, trong phần "stepOverview" ("Tổng quan") (để yêu cầu siêu dữ liệu này, hãy sử dụng Mặt nạ trường "routes.legs.stepsOverview`). |
Không thể chỉ định cách thức và liệu có nên đưa dữ liệu lưu lượng truy cập vào hay không | |
Không thể chỉ định các đối tượng tuyến đường để tránh | |
Chỉ có thể chỉ định transitPreferences cho
routingPreference . Để biết thông tin chi tiết, hãy xem
[TransitPreferences](reference/rest/v2/TransitPreferences). |
Để biết thêm thông tin về phản hồi do Routes API trả về, hãy xem Xem phản hồi về tuyến đường của phương tiện công cộng.
Để xem tuyến đường phương tiện công cộng
Đặt điểm khởi hành và điểm đến của bạn.
Đặt phương tiện đi lại thành phương tiện công cộng:
travelMode: "TRANSIT"
Thêm mặt nạ trường để nhận các trường phản hồi mà bạn muốn. Xem Yêu cầu các trường tuyến đường chuyển tuyến bạn cần.
Đặt các tham số không bắt buộc nếu cần. Xem phần Đặt thông số cho tuyến phương tiện công cộng.
Yêu cầu các trường tuyến đường chuyển tuyến bạn cần
Yêu cầu các trường tuyến đường chuyển tuyến bạn cần bằng cách sử dụng mặt nạ trường. Bảng sau đây chứa một số câu trả lời đề xuất cho phương tiện công cộng tuyến đường và mặt nạ trường để sử dụng nhằm yêu cầu chúng.
Để yêu cầu thông tin này | Sử dụng mặt nạ trường này |
---|---|
Tất cả chi tiết tuyến đường | routes.* |
Tất cả thông tin về phương tiện công cộng | routes.legs.steps.transitDetails |
Vị trí bắt đầu của mỗi chặng | routes.legs.steps.startLocation |
Vị trí kết thúc của mỗi chặng | routes.legs.steps.endLocation |
Định tuyến hình nhiều đường cho mỗi bước | routes.legs.steps.polyline |
Loại phương tiện công cộng dùng cho mỗi bước | routes.legs.steps.travelMode |
Giá vé ước tính cho mỗi chặng và tuyến đường, và Giá vé ước tính tại địa phương | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Lưu ý: |
Văn bản đã bản địa hoá cho thời lượng và khoảng cách | routes.localizedValues |
Để biết thêm thông tin về cách thiết lập mặt nạ trường, hãy xem Chọn các trường cần trả về.
Đặt thông số cho tuyến phương tiện công cộng
Dưới đây là các tham số có liên quan cho tuyến phương tiện công cộng:
Để thực hiện việc này | Dùng tham số này | Ghi chú |
---|---|---|
Chọn chế độ chuyển tuyến | travelMode: "TRANSIT" |
Bắt buộc. Tìm hiểu thêm. |
Đặt thời gian đến hoặc thời gian khởi hành | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
OR "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
Không bắt buộc. Bạn có thể chỉ địnhThời gian đến hoặc thời gian khởi hành. Nếu
không có thời gian nào được chỉ định, departure_time mặc định thành
thời gian thực thi hiện tại (now ). Bạn có thể đặt thời gian đến và
thời gian khởi hành chỉ trong khoảng thời gian sau, với thời gian hiện tại
thời gian thực thi (now ) làm tham chiếu:
|
Bao gồm các tuyến đường thay thế | "computeAlternativeRoutes": true |
Không bắt buộc. Đặt thành true để API tuyến đường tính toán lên đến 3 tuyến đường bổ sung (nếu có). Tìm hiểu thêm |
Chỉ định các lựa chọn ưu tiên cho loại phương tiện công cộng | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Lưu ý: Nếu bạn chỉ định một phương tiện đi lại ưu tiên, các tuyến đường bị trả về vẫn có thể sử dụng các phương tiện công cộng khác, thậm chí chỉ sử dụng các phương thức phương tiện công cộng khác, tuỳ thuộc vào hiệu quả của tuyến đường và tính sẵn có của khi đi du lịch. |
Không bắt buộc. Chỉ định phương thức di chuyển bằng phương tiện công cộng mà bạn ưu tiên. Tìm hiểu thêm |
Chỉ định các lựa chọn ưu tiên cho tuyến đường chuyển tuyến | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Không bắt buộc. Chỉ định lựa chọn ưu tiên về tuyến đường đi bằng phương tiện công cộng. Tìm hiểu thêm |
Ví dụ: Xem tuyến đường trên phương tiện công cộng
Ví dụ sau đây xác định một tuyến đường đang chuyển tuyến với các tham số sau:
Cho biết các lựa chọn ưu tiên về việc đi lại trên tàu và ít đi bộ hơn.
Yêu cầu tuyến thay thế.
Cung cấp mặt nạ trường trả về thông tin chi tiết về phương tiện công cộng:
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "address": "Humberto Delgado Airport, Portugal" }, "destination": { "address": "Basílica of Estrela, Praça da Estrela, 1200-667 Lisboa, Portugal" }, "travelMode": "TRANSIT", "computeAlternativeRoutes": true, "transitPreferences": { routingPreference: "LESS_WALKING", allowedTravelModes: ["TRAIN"] }, }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.legs.steps.transitDetails' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Phản hồi cho thấy các trường route.legs.steps.transitDetails
cho hai tuyến:
{ "routes": [ { "legs": [ { "steps": [ {}, {}, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73532, "longitude": -9.14543 } } }, "arrivalTime": "2023-08-26T10:49:42Z", "departureStop": { "name": "Aeroporto", "location": { "latLng": { "latitude": 38.769047799999996, "longitude": -9.1284593 } } }, "departureTime": "2023-08-26T10:32:10Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "11:49" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:32" }, "timeZone": "Europe/Lisbon" } }, "headsign": "São Sebastião", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Vermelha", "color": "#f23061", "nameShort": "Vm", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 11 } }, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Rato", "location": { "latLng": { "latitude": 38.7201022, "longitude": -9.1540562 } } }, "arrivalTime": "2023-08-26T11:01:37Z", "departureStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73527, "longitude": -9.1455200000000012 } } }, "departureTime": "2023-08-26T10:57:57Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "12:01" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:57" }, "timeZone": "Europe/Lisbon" } }, "headsign": "Rato", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Amarela", "color": "#f2c200", "nameShort": "Am", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 4 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }