Method: computeRoutes

Trả về tuyến chính cùng với các tuyến thay thế không bắt buộc, dựa trên một nhóm các điểm cuối và điểm tham chiếu trung gian.

LƯU Ý: Phương pháp này yêu cầu bạn chỉ định mặt nạ trường phản hồi trong dữ liệu đầu vào. Bạn có thể cung cấp mặt nạ trường phản hồi bằng cách sử dụng tham số URL $fields hoặc fields, hoặc bằng cách sử dụng tiêu đề HTTP/gRPC X-Goog-FieldMask (xem các tham số và tiêu đề URL có sẵn). Giá trị là một danh sách các đường dẫn trường được phân tách bằng dấu phẩy. Xem tài liệu chi tiết về cách tạo đường dẫn trường.

Ví dụ: trong phương thức này:

  • Mặt nạ cho trường (field mask) của tất cả các trường có sẵn (để kiểm tra thủ công): X-Goog-FieldMask: *
  • Mặt nạ trường của thời lượng, khoảng cách và hình nhiều đường ở cấp tuyến đường (ví dụ về cách thiết lập chính thức): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google không khuyến khích việc sử dụng mặt nạ cho trường (field mask) của phản hồi ký tự đại diện (*) hoặc chỉ định mặt nạ cho trường (field mask) ở cấp cao nhất (routes), vì:

  • Việc chỉ chọn các trường mà bạn cần sẽ giúp máy chủ của chúng tôi lưu chu kỳ tính toán. Nhờ đó, chúng tôi có thể trả về kết quả cho bạn với độ trễ thấp hơn.
  • Bạn chỉ nên chọn các trường mà bạn cần trong công việc sản xuất để đảm bảo hiệu suất độ trễ ổn định. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và những trường mới đó có thể cần thêm thời gian tính toán. Nếu bạn chọn tất cả các trường hoặc chọn tất cả các trường ở cấp cao nhất, thì hiệu suất có thể sẽ giảm vì mọi trường mới mà chúng tôi thêm đều sẽ tự động được đưa vào câu trả lời.
  • Chỉ chọn các trường bạn cần sẽ làm giảm kích thước phản hồi, từ đó mang lại thông lượng mạng cao hơn.

Yêu cầu HTTP

POST https://routes.googleapis.com/directions/v2:computeRoutes

URL sử dụng cú pháp Chuyển mã gRPC.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Trường
origin

object (Waypoint)

Bắt buộc. Điểm tham chiếu gốc.

destination

object (Waypoint)

Bắt buộc. Điểm tham chiếu đích.

intermediates[]

object (Waypoint)

Không bắt buộc. Một tập hợp các điểm tham chiếu dọc theo tuyến đường (không bao gồm các điểm cuối), cho phép dừng hoặc đi qua. Hỗ trợ tối đa 25 điểm tham chiếu trung gian.

travelMode

enum (RouteTravelMode)

Không bắt buộc. Chỉ định phương thức di chuyển.

routingPreference

enum (RoutingPreference)

Không bắt buộc. Chỉ định cách tính toán tuyến. Máy chủ cố gắng sử dụng tuỳ chọn định tuyến đã chọn để tính toán tuyến. Nếu tuỳ chọn định tuyến dẫn đến lỗi hoặc độ trễ quá lâu, thì hệ thống sẽ trả về lỗi. Bạn chỉ có thể chỉ định tuỳ chọn này khi travelModeDRIVE hoặc TWO_WHEELER, nếu không yêu cầu sẽ không thành công.

polylineQuality

enum (PolylineQuality)

Không bắt buộc. Chỉ định tuỳ chọn của bạn về chất lượng của hình nhiều đường.

polylineEncoding

enum (PolylineEncoding)

Không bắt buộc. Chỉ định phương thức mã hoá ưu tiên cho hình nhiều đường.

departureTime

string (Timestamp format)

Không bắt buộc. Thời gian khởi hành. Nếu bạn không đặt giá trị này, thì giá trị này sẽ mặc định theo thời gian bạn thực hiện yêu cầu. LƯU Ý: Bạn chỉ có thể chỉ định departureTime trong quá khứ khi RouteTravelMode được đặt thành TRANSIT. Các chuyến đi bằng phương tiện công cộng có sẵn tối đa 7 ngày trước đây hoặc 100 ngày trong tương lai.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Không bắt buộc. Thời gian đến. LƯU Ý: Chỉ có thể đặt khi RouteTravelMode được đặt thành TRANSIT. Bạn có thể chỉ định departureTime hoặc arrivalTime, nhưng không thể chỉ định cả hai. Các chuyến đi bằng phương tiện công cộng có sẵn tối đa 7 ngày trước đây hoặc 100 ngày trong tương lai.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Không bắt buộc. Chỉ định xem có tính toán các tuyến thay thế ngoài tuyến đường hay không. Không có tuyến thay thế nào được trả về cho các yêu cầu có điểm tham chiếu trung gian.

routeModifiers

object (RouteModifiers)

Không bắt buộc. Một tập hợp các điều kiện cần đáp ứng sẽ ảnh hưởng đến cách tính toán tuyến đường.

languageCode

string

Không bắt buộc. Mã ngôn ngữ BCP-47, chẳng hạn như "en-US" hoặc "sr-Latn". Để biết thêm thông tin, hãy xem phần Mã nhận dạng ngôn ngữ Unicode. Xem trang Hỗ trợ ngôn ngữ để biết danh sách các ngôn ngữ được hỗ trợ. Khi bạn không cung cấp giá trị này, ngôn ngữ hiển thị sẽ được suy ra từ vị trí của yêu cầu định tuyến.

regionCode

string

Không bắt buộc. Mã vùng được chỉ định ở dạng ccTLD (miền cấp cao nhất) gồm 2 ký tự. Để biết thêm thông tin, hãy xem phần Miền cấp cao nhất của mã quốc gia.

units

enum (Units)

Không bắt buộc. Chỉ định đơn vị đo lường cho các trường hiển thị. Các trường này bao gồm trường instruction trong NavigationInstruction. Giá trị này không ảnh hưởng đến các đơn vị đo lường tuyến đường, chặng đường, quãng đường bước và thời lượng. Nếu bạn không cung cấp giá trị này thì đơn vị hiển thị sẽ được suy ra từ vị trí của nguồn gốc đầu tiên.

optimizeWaypointOrder

boolean

Không bắt buộc. Nếu bạn đặt chính sách này thành true (đúng), dịch vụ sẽ cố gắng giảm thiểu tổng chi phí của tuyến bằng cách sắp xếp lại thứ tự các điểm tham chiếu trung gian đã chỉ định. Yêu cầu sẽ không thành công nếu bất kỳ điểm tham chiếu trung gian nào là điểm tham chiếu via. Sử dụng ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index để tìm đơn đặt hàng mới. Nếu không yêu cầu ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index trong tiêu đề X-Goog-FieldMask, thì yêu cầu đó sẽ không thành công. Nếu bạn đặt optimizeWaypointOrder thành false (sai), ComputeRoutesResponse.optimized_intermediate_waypoint_index sẽ trống.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Không bắt buộc. Chỉ định các tuyến tham chiếu cần tính toán trong yêu cầu ngoài tuyến mặc định. Tuyến tham chiếu là một tuyến có mục tiêu tính toán tuyến đường khác với tuyến mặc định. Ví dụ: cách tính toán tuyến tham chiếu FUEL_EFFICIENT sẽ xem xét nhiều tham số để tạo ra tuyến đường tiết kiệm nhiên liệu tối ưu.

extraComputations[]

enum (ExtraComputation)

Không bắt buộc. Danh sách các phép tính bổ sung có thể dùng để hoàn tất yêu cầu. Lưu ý: Những phép tính bổ sung này có thể trả về các trường bổ sung trong câu trả lời. Các trường bổ sung này cũng phải được chỉ định trong mặt nạ trường (field mask) để được trả về trong phản hồi.

trafficModel

enum (TrafficModel)

Không bắt buộc. Nêu các giả định cần sử dụng khi tính thời gian lưu lượng truy cập. Chế độ cài đặt này ảnh hưởng đến giá trị được trả về trong trường thời lượng trong RouteRouteLeg, có chứa thời gian dự đoán trong lưu lượng truy cập dựa trên mức trung bình trước đây. TrafficModel chỉ dùng được cho các yêu cầu đã đặt RoutingPreference thành TRAFFIC_AWARE_OPTIMALRouteTravelMode thành DRIVE. Giá trị mặc định là BEST_GUESS nếu lưu lượng truy cập được yêu cầu và TrafficModel không được chỉ định.

transitPreferences

object (TransitPreferences)

Không bắt buộc. Chỉ định các lựa chọn ưu tiên ảnh hưởng đến tuyến được trả về cho các tuyến TRANSIT. LƯU Ý: Bạn chỉ có thể chỉ định transitPreferences khi RouteTravelMode được đặt thành TRANSIT.

Nội dung phản hồi

v2.CalculateRoutes cho thông báo phản hồi.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Trường
routes[]

object (Route)

Chứa một mảng các tuyến được tính toán (tối đa 3) khi bạn chỉ định compute_alternatives_routes và chỉ chứa một tuyến khi bạn không chỉ định. Khi mảng này chứa nhiều mục nhập, mục đầu tiên sẽ là tuyến được đề xuất nhiều nhất. Nếu mảng trống thì tức là không tìm thấy tuyến nào.

fallbackInfo

object (FallbackInfo)

Trong một số trường hợp khi không thể tính toán kết quả định tuyến với tất cả tuỳ chọn đầu vào, máy chủ có thể dự phòng sang sử dụng một cách tính toán khác. Khi sử dụng chế độ dự phòng, trường này chứa thông tin chi tiết về phản hồi dự phòng. Nếu không, trường này sẽ không được đặt.

geocodingResults

object (GeocodingResults)

Chứa thông tin phản hồi mã hoá địa lý cho các điểm tham chiếu được chỉ định dưới dạng địa chỉ.

PolylineQuality

Một tập hợp các giá trị chỉ định chất lượng của hình nhiều đường.

Enum
POLYLINE_QUALITY_UNSPECIFIED Chưa chỉ định lựa chọn chất lượng nhiều đường. Giá trị mặc định là OVERVIEW.
HIGH_QUALITY Chỉ định một hình nhiều đường chất lượng cao – được kết hợp bằng cách sử dụng nhiều điểm hơn OVERVIEW nhưng kích thước phản hồi sẽ tăng. Hãy sử dụng giá trị này khi bạn cần độ chính xác cao hơn.
OVERVIEW Chỉ định một hình nhiều đường tổng quan – được kết hợp bằng một số ít điểm. Sử dụng giá trị này khi hiển thị thông tin tổng quan về tuyến đường. Việc sử dụng lựa chọn này có độ trễ yêu cầu thấp hơn so với việc sử dụng lựa chọn HIGH_QUALITY.

PolylineEncoding

Chỉ định loại hình nhiều đường ưu tiên sẽ được trả về.

Enum
POLYLINE_ENCODING_UNSPECIFIED Chưa chỉ định tùy chọn loại nhiều đường. Giá trị mặc định là ENCODED_POLYLINE.
ENCODED_POLYLINE Chỉ định một hình nhiều dòng được mã hoá bằng thuật toán mã hoá nhiều dòng.
GEO_JSON_LINESTRING Chỉ định một hình nhiều đường bằng cách sử dụng định dạng GeoJSON LineString

ReferenceRoute

Tuyến tham chiếu được hỗ trợ trên ComputeRoutesRequest.

Enum
REFERENCE_ROUTE_UNSPECIFIED Không được sử dụng. Các yêu cầu chứa giá trị này sẽ không thành công.
FUEL_EFFICIENT Tuyến đường tiết kiệm nhiên liệu. Những tuyến đường có gắn nhãn giá trị này được xác định là tối ưu hoá cho các tham số như mức tiêu thụ nhiên liệu.

ExtraComputation

Các phép tính bổ sung cần thực hiện trong khi hoàn tất yêu cầu.

Enum
EXTRA_COMPUTATION_UNSPECIFIED Không được sử dụng. Các yêu cầu chứa giá trị này sẽ không thành công.
TOLLS Thông tin về phí cầu đường cho(các) tuyến đường.
FUEL_CONSUMPTION Mức tiêu thụ nhiên liệu ước tính cho(các) tuyến đường.
TRAFFIC_ON_POLYLINE Hình nhiều đường nhận biết giao thông cho(các) tuyến đường.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions được trình bày dưới dạng một chuỗi văn bản HTML đã được định dạng. Nội dung này được dùng để đọc nguyên trạng. Nội dung này chỉ dành cho mục đích hiển thị. Đừng phân tích cú pháp cú pháp tìm kiếm theo trình tự.

Tuyến đường

Chứa một tuyến đường bao gồm một loạt các đoạn đường được kết nối với nhau nối với điểm đầu, điểm cuối và điểm trung gian.

Biểu diễn dưới dạng JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string
}
Trường
routeLabels[]

enum (RouteLabel)

Các nhãn cho Route rất hữu ích trong việc xác định các thuộc tính cụ thể của tuyến đường để so sánh với các tuyến khác.

legs[]

object (RouteLeg)

Một tập hợp các chân (đoạn đường dẫn giữa các điểm tham chiếu) tạo nên tuyến đường. Mỗi chặng tương ứng với chuyến đi giữa hai chặng không phải là via Waypoints. Ví dụ: tuyến đường không có điểm trung gian chỉ có một chặng. Tuyến đường có một điểm tham chiếu trung gian không phải via có hai chân. Tuyến đường có một điểm tham chiếu trung gian via có một chân. Thứ tự của các chân khớp với thứ tự của các điểm tham chiếu từ origin đến intermediates đến destination.

distanceMeters

integer

Khoảng cách đi lại của tuyến đường, tính bằng mét.

duration

string (Duration format)

Khoảng thời gian cần thiết để điều hướng tuyến đường. Nếu bạn thiết lập routingPreference thành TRAFFIC_UNAWARE, thì giá trị này sẽ giống với staticDuration. Nếu bạn đặt routingPreference thành TRAFFIC_AWARE hoặc TRAFFIC_AWARE_OPTIMAL, thì giá trị này sẽ được tính toán có tính đến điều kiện giao thông.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

staticDuration

string (Duration format)

Thời gian di chuyển qua tuyến đường mà không tính đến tình trạng giao thông.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

polyline

object (Polyline)

Hình nhiều đường chung của tuyến đường. Hình nhiều đường này là hình nhiều đường kết hợp của tất cả legs.

description

string

Nội dung mô tả về tuyến đường.

warnings[]

string

Một mảng các cảnh báo sẽ xuất hiện khi cho thấy tuyến đường.

viewport

object (Viewport)

Hộp giới hạn khung nhìn của hình nhiều đường.

travelAdvisory

object (RouteTravelAdvisory)

Thông tin bổ sung về tuyến đường.

optimizedIntermediateWaypointIndex[]

integer

Nếu bạn đặt optimizeWaypointOrder thành true, trường này sẽ chứa thứ tự được tối ưu hoá của các điểm tham chiếu trung gian. Nếu không, trường này trống. Ví dụ: nếu bạn cung cấp dữ liệu đầu vào là Origin: LA; Điểm tham chiếu trung gian: Dallas, Bangor, Phoenix; Destination: New York; và thứ tự điểm tham chiếu được tối ưu hoá là Phoenix, Dallas, Bangor, thì trường này chứa các giá trị [2, 0, 1]. Chỉ mục bắt đầu bằng 0 cho điểm tham chiếu trung gian đầu tiên được cung cấp trong đầu vào.

localizedValues

object (RouteLocalizedValues)

Văn bản đại diện cho các thuộc tính của Route.

routeToken

string

Mã thông báo tuyến đường được mã hoá base64 an toàn cho web, có thể được chuyển đến SDK điều hướng, cho phép SDK điều hướng tạo lại tuyến đường trong khi điều hướng và trong trường hợp định tuyến lại, hãy thực hiện ý định ban đầu khi bạn tạo tuyến đường bằng cách gọi v2.computeRoutes. Khách hàng nên coi mã thông báo này là một blob mờ. Tệp này không nhằm mục đích đọc hoặc thay đổi. LƯU Ý: Route.route_token chỉ dùng được cho các yêu cầu đã đặt ComputeRoutesRequest.routing_preference thành TRAFFIC_AWARE hoặc TRAFFIC_AWARE_OPTIMAL. Route.route_token không được hỗ trợ cho các yêu cầu có Điểm tham chiếu.

RouteLabel

Các nhãn cho Route rất hữu ích trong việc xác định các thuộc tính cụ thể của tuyến đường để so sánh với các tuyến khác.

Enum
ROUTE_LABEL_UNSPECIFIED Mặc định – không được sử dụng.
DEFAULT_ROUTE Tuyến "tốt nhất" mặc định được trả về để tính toán tuyến đường.
DEFAULT_ROUTE_ALTERNATE Lựa chọn thay thế cho tuyến "tốt nhất" mặc định. Các tuyến như thế này sẽ được trả về khi bạn chỉ định computeAlternativeRoutes.
FUEL_EFFICIENT Tuyến đường tiết kiệm nhiên liệu. Những tuyến đường có gắn nhãn giá trị này được xác định là tối ưu hoá theo tham số Tiết kiệm nhiên liệu, chẳng hạn như mức tiêu thụ nhiên liệu.

RouteLeg

Chứa một phân đoạn giữa các điểm tham chiếu không phải là via.

Biểu diễn dưới dạng JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Trường
distanceMeters

integer

Khoảng cách di chuyển của chặng tuyến đường, tính bằng mét.

duration

string (Duration format)

Khoảng thời gian cần thiết để di chuyển chân. Nếu bạn đặt route_preference thành TRAFFIC_UNAWARE, thì giá trị này sẽ giống với staticDuration. Nếu route_preferenceTRAFFIC_AWARE hoặc TRAFFIC_AWARE_OPTIMAL, thì giá trị này sẽ được tính có tính đến điều kiện lưu lượng truy cập.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

staticDuration

string (Duration format)

Thời gian di chuyển qua chân, được tính toán mà không tính đến tình trạng giao thông.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

polyline

object (Polyline)

Hình nhiều đường chung cho chân này bao gồm hình nhiều đường của mỗi step.

startLocation

object (Location)

Vị trí bắt đầu của chân này. Vị trí này có thể khác với origin được cung cấp. Ví dụ: khi origin được cung cấp không nằm gần một con đường, thì đây là một điểm trên đường.

endLocation

object (Location)

Vị trí kết thúc của chân này. Vị trí này có thể khác với destination được cung cấp. Ví dụ: khi destination được cung cấp không nằm gần một con đường, thì đây là một điểm trên đường.

steps[]

object (RouteLegStep)

Một mảng các bước biểu thị các phân đoạn trong chân này. Mỗi bước đại diện cho một hướng dẫn di chuyển.

travelAdvisory

object (RouteLegTravelAdvisory)

Chứa thông tin bổ sung mà người dùng phải được thông báo, chẳng hạn như các khu vực hạn chế giao thông có thể xảy ra ở một chặng của tuyến đường.

localizedValues

object (RouteLegLocalizedValues)

Văn bản đại diện cho các thuộc tính của RouteLeg.

stepsOverview

object (StepsOverview)

Thông tin tổng quan về các bước trong RouteLeg này. Trường này chỉ được điền sẵn cho các tuyến đường TRANSIT.

Hình nhiều đường

Đóng gói một hình nhiều đường được mã hoá.

Biểu diễn dưới dạng JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
Trường
Trường hợp polyline_type. Đóng gói loại hình nhiều đường. Giá trị mặc định là encrypted_polyline. polyline_type chỉ có thể là một trong những trạng thái sau:
encodedPolyline

string

Mã hoá chuỗi cho hình nhiều đường bằng thuật toán mã hoá nhiều đường

geoJsonLinestring

object (Struct format)

Chỉ định một hình nhiều đường bằng cách sử dụng định dạng GeoJSON LineString.

RouteLegStep

Chứa một phân đoạn của RouteLeg. Mỗi bước tương ứng với một hướng dẫn điều hướng. Các chân tuyến đường được tạo thành từ các bước.

Biểu diễn dưới dạng JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Trường
distanceMeters

integer

Khoảng cách di chuyển của bước này (tính bằng mét). Trong một số trường hợp, trường này có thể không có giá trị.

staticDuration

string (Duration format)

Thời gian di chuyển qua bước này mà không tính đến tình trạng giao thông. Trong một số trường hợp, trường này có thể không có giá trị.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

polyline

object (Polyline)

Hình nhiều đường liên kết với bước này.

startLocation

object (Location)

Vị trí bắt đầu của bước này.

endLocation

object (Location)

Vị trí kết thúc của bước này.

navigationInstruction

object (NavigationInstruction)

Hướng dẫn di chuyển.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Chứa thông tin bổ sung mà người dùng cần được thông báo (chẳng hạn như các quy định hạn chế về vùng giao thông có thể xảy ra) ở bước chân.

localizedValues

object (RouteLegStepLocalizedValues)

Văn bản đại diện cho các thuộc tính của RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Thông tin chi tiết liên quan đến bước này nếu phương tiện đi lại là TRANSIT.

travelMode

enum (RouteTravelMode)

Phương tiện đi lại dùng cho bước này.

Điều khiển

Tập hợp các giá trị chỉ định thao tác điều hướng cần thực hiện cho bước hiện tại (ví dụ: rẽ trái, hợp nhất hoặc đi thẳng).

Enum
MANEUVER_UNSPECIFIED Không được sử dụng.
TURN_SLIGHT_LEFT Xoay một chút sang trái.
TURN_SHARP_LEFT Xoay mạnh sang trái.
UTURN_LEFT Vòng ngược lại.
TURN_LEFT Quay sang trái.
TURN_SLIGHT_RIGHT Xoay một chút sang phải.
TURN_SHARP_RIGHT Xoay mạnh sang phải.
UTURN_RIGHT Vòng ngược lại.
TURN_RIGHT Hãy rẽ phải.
STRAIGHT Đi thẳng.
RAMP_LEFT Đi theo đoạn đường nối bên trái.
RAMP_RIGHT Đi vào đoạn đường nối bên phải.
MERGE Hợp nhất vào giao thông.
FORK_LEFT Đi theo ngã ba bên trái.
FORK_RIGHT Đi theo ngã ba bên phải.
FERRY Đi phà.
FERRY_TRAIN Đi vào chuyến tàu dẫn lên phà.
ROUNDABOUT_LEFT Rẽ trái tại chỗ đường vòng.
ROUNDABOUT_RIGHT rẽ phải tại chỗ đường vòng.
DEPART Thao tác ban đầu.
NAME_CHANGE Được dùng để biểu thị việc thay đổi tên đường.

RouteLegStepTravelAdvisory

Chứa thông tin bổ sung mà người dùng cần được thông báo, chẳng hạn như các hạn chế về vùng giao thông có thể xảy ra đối với bước chân.

Biểu diễn dưới dạng JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Trường
speedReadingIntervals[]

object (SpeedReadingInterval)

LƯU Ý: Trường này hiện chưa được điền.

RouteLegStepLocalizedValues

Phần văn bản đại diện cho một số thuộc tính nhất định.

Biểu diễn dưới dạng JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Trường
distance

object (LocalizedText)

Quãng đường đi được thể hiện dưới dạng văn bản.

staticDuration

object (LocalizedText)

Thời lượng không tính đến điều kiện giao thông, được thể hiện ở dạng văn bản.

RouteLegStepTransitDetails

Thông tin bổ sung về RouteLegStep liên quan đến các tuyến TRANSIT.

Biểu diễn dưới dạng JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Trường
stopDetails

object (TransitStopDetails)

Thông tin về điểm dừng đến và đi cho bước này.

localizedValues

object (TransitDetailsLocalizedValues)

Văn bản đại diện cho các thuộc tính của RouteLegStepTransitDetails.

headsign

string

Xác định hướng di chuyển trên tuyến đường này (được đánh dấu trên xe hoặc tại điểm khởi hành). Hướng thường là ga cuối.

headway

string (Duration format)

Chỉ định thời gian dự kiến là khoảng thời gian giữa các chuyến khởi hành từ cùng một điểm dừng tại thời điểm này. Ví dụ: với giá trị số giây phía trước là 600, bạn sẽ phải chờ 10 phút nếu lỡ xe buýt.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

transitLine

object (TransitLine)

Thông tin về đường chuyển tuyến được sử dụng trong bước này.

stopCount

integer

Số điểm dừng từ điểm khởi hành đến điểm dừng đến. Con số này bao gồm điểm dừng đến, nhưng không bao gồm điểm khởi hành. Ví dụ: nếu tuyến đường của bạn khởi hành từ Trạm dừng A, đi qua điểm dừng B và C, và đến điểm dừng D, thì StopCount sẽ trả về giá trị 3.

tripShortText

string

Văn bản xuất hiện trong lịch trình và biển hiệu để xác định chuyến đi bằng phương tiện công cộng của hành khách. Văn bản này phải xác định duy nhất một chuyến đi trong một ngày sử dụng dịch vụ. Ví dụ: "538" là tripShortText của chuyến tàu Amtrak khởi hành từ San Jose, CA lúc 15:10 các ngày trong tuần đến đó, California.

TransitStopDetails

Thông tin chi tiết về điểm dừng phương tiện công cộng cho RouteLegStep.

Biểu diễn dưới dạng JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Trường
arrivalStop

object (TransitStop)

Thông tin về điểm dừng đến cho bước này.

arrivalTime

string (Timestamp format)

Thời gian đến dự kiến cho bước này.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

Thông tin về điểm dừng khởi hành cho bước này.

departureTime

string (Timestamp format)

Thời gian khởi hành dự kiến cho bước này.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

TransitStop

Thông tin về điểm dừng phương tiện công cộng.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Trường
name

string

Tên của điểm dừng chuyển tuyến.

location

object (Location)

Vị trí của điểm dừng được thể hiện bằng vĩ độ/kinh độ.

TransitDetailsLocalizedValues

Mô tả giá trị đã bản địa hoá cho RouteTransitDetails.

Biểu diễn dưới dạng JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Trường
arrivalTime

object (LocalizedTime)

Thời gian ở dạng văn bản biểu diễn với múi giờ tương ứng.

departureTime

object (LocalizedTime)

Thời gian ở dạng văn bản biểu diễn với múi giờ tương ứng.

LocalizedTime

Mô tả thời gian đã bản địa hoá.

Biểu diễn dưới dạng JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Trường
time

object (LocalizedText)

Thời gian được chỉ định dưới dạng chuỗi theo múi giờ đã cho.

timeZone

string

Chứa múi giờ. Giá trị là tên của múi giờ như được xác định trong Cơ sở dữ liệu múi giờ IANA, ví dụ: "America/New_Israel".

TransitLine

Chứa thông tin về đường chuyển tuyến được dùng trong bước này.

Biểu diễn dưới dạng JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Trường
agencies[]

object (TransitAgency)

Công ty vận tải (hoặc các công ty quảng cáo) điều hành đường chuyển tuyến này.

name

string

Tên đầy đủ của đường chuyển tuyến này, ví dụ: "8 Avenue Local".

uri

string

URI cho đường chuyển tuyến này do công ty vận tải cung cấp.

color

string

Màu sắc thường được sử dụng trong bảng hiệu cho đường này. Được biểu thị bằng hệ thập lục phân.

iconUri

string

URI cho biểu tượng liên kết với dòng này.

nameShort

string

Tên ngắn của đường chuyển tuyến này. Tên này thường là số dòng, chẳng hạn như "M7" hoặc "355".

textColor

string

Màu sắc thường được sử dụng trong văn bản trên bảng hiệu cho dòng này. Được biểu thị bằng hệ thập lục phân.

vehicle

object (TransitVehicle)

Loại phương tiện hoạt động trên đường chuyển tuyến này.

TransitAgency

Công ty vận tải điều hành đường chuyển tuyến.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Trường
name

string

Tên của công ty vận tải này.

phoneNumber

string

Số điện thoại có định dạng dành riêng cho từng khu vực của công ty vận tải.

uri

string

URI của công ty vận tải.

TransitVehicle

Thông tin về một loại xe được sử dụng trên các tuyến đường phương tiện công cộng.

Biểu diễn dưới dạng JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Trường
name

object (LocalizedText)

Tên của chiếc xe này, được viết hoa.

type

enum (TransitVehicleType)

Loại phương tiện được sử dụng.

iconUri

string

URI cho biểu tượng liên kết với loại xe này.

localIconUri

string

URI cho biểu tượng liên kết với loại phương tiện này, dựa trên biển hiệu phương tiện giao thông địa phương.

TransitVehicleType

Loại phương tiện cho các tuyến đường chuyển tuyến.

Enum
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Không sử dụng.
BUS Xe buýt.
CABLE_CAR Phương tiện vận hành bằng cáp, thường ở trên mặt đất. Cáp treo trên không có thể thuộc loại GONDOLA_LIFT.
COMMUTER_TRAIN Tàu chở khách đi làm.
FERRY Phà.
FUNICULAR Một chiếc xe bị cáp kéo lên dốc. Xe lửa có dây kéo thường bao gồm hai toa, mỗi toa đóng vai trò là đối trọng của xe còn lại.
GONDOLA_LIFT Cáp treo trên không.
HEAVY_RAIL Đường sắt nặng.
HIGH_SPEED_TRAIN Tàu cao tốc.
INTERCITY_BUS Xe buýt liên thành phố.
LONG_DISTANCE_TRAIN Chuyến tàu đường dài.
METRO_RAIL Phương tiện công cộng bằng xe điện.
MONORAIL Xe lửa chạy trên đường một ray.
OTHER Tất cả các xe khác.
RAIL Đường sắt.
SHARE_TAXI Taxi đi chung là một loại xe buýt có khả năng trả khách và đón khách ở bất cứ đâu trên tuyến đường.
SUBWAY Tàu điện ngầm.
TRAM Phía trên đường sắt điện trên mặt đất.
TROLLEYBUS Xe điện.

RouteLegTravelAdvisory

Chứa thông tin bổ sung mà người dùng sẽ được thông báo về bước chân, chẳng hạn như các quy định hạn chế về khu vực giao thông có thể xảy ra.

Biểu diễn dưới dạng JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Trường
tollInfo

object (TollInfo)

Chứa thông tin về việc thu phí cầu đường cụ thể trên RouteLeg. Trường này chỉ được điền nếu chúng ta cho rằng có phí cầu đường trên RouteLeg. Nếu bạn đặt trường này nhưng trường phụ Giá ước tính chưa được điền, chúng tôi dự kiến rằng con đường đó có phí cầu đường nhưng chúng tôi không biết giá ước tính. Nếu trường này không tồn tại thì RouteLeg sẽ không thu phí.

speedReadingIntervals[]

object (SpeedReadingInterval)

Khoảng thời gian đọc tốc độ nêu chi tiết mật độ lưu lượng truy cập. Áp dụng trong trường hợp lựa chọn định tuyến ưu tiên của TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL. Các khoảng thời gian bao phủ toàn bộ hình nhiều đường của RouteLeg mà không chồng chéo. Điểm bắt đầu của khoảng thời gian được chỉ định giống với điểm kết thúc của khoảng thời gian trước đó.

Ví dụ:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

Phần văn bản đại diện cho một số thuộc tính nhất định.

Biểu diễn dưới dạng JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Trường
distance

object (LocalizedText)

Quãng đường đi được thể hiện dưới dạng văn bản.

duration

object (LocalizedText)

Thời lượng có tính đến điều kiện giao thông, được thể hiện dưới dạng văn bản. Lưu ý: Nếu bạn không yêu cầu thông tin lưu lượng truy cập, thì giá trị này sẽ giống với giá trị staticDuration.

staticDuration

object (LocalizedText)

Thời lượng không tính đến điều kiện giao thông, được thể hiện ở dạng văn bản.

StepsOverview

Cung cấp thông tin tổng quan về danh sách RouteLegStep.

Biểu diễn dưới dạng JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Trường
multiModalSegments[]

object (MultiModalSegment)

Thông tin tóm tắt về các phân đoạn đa phương thức khác nhau của RouteLeg.steps. Trường này sẽ không được điền nếu RouteLeg không chứa phân đoạn đa phương thức trong các bước.

MultiModalSegment

Cung cấp thông tin tóm tắt về các phân đoạn đa phương thức khác nhau của RouteLeg.steps. Phân đoạn đa phương thức được định nghĩa là một hoặc nhiều RouteLegStep liền kề có cùng RouteTravelMode. Trường này sẽ không được điền nếu RouteLeg không chứa phân đoạn đa phương thức trong các bước.

Biểu diễn dưới dạng JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Trường
navigationInstruction

object (NavigationInstruction)

NavigationIn hướng dẫn cho phân đoạn đa phương thức.

travelMode

enum (RouteTravelMode)

Phương thức đi lại của đoạn đa phương thức.

stepStartIndex

integer

Chỉ mục RouteLegStep tương ứng là điểm bắt đầu của phân khúc đa phương thức.

stepEndIndex

integer

Chỉ mục RouteLegStep tương ứng là phần cuối của phân đoạn đa phương thức.

Khung nhìn

Một chế độ xem kinh độ – vĩ độ, được thể hiện dưới dạng hai điểm theo đường chéo đối diện lowhigh. Khung nhìn được xem là một khu vực khép kín, tức là nó bao gồm ranh giới của nó. Giới hạn vĩ độ phải nằm trong khoảng từ -90 đến 90 độ và giới hạn kinh độ phải nằm trong khoảng từ -180 đến 180 độ. Các trường hợp khác nhau bao gồm:

  • Nếu low = high, khung nhìn bao gồm một điểm duy nhất đó.

  • Nếu low.longitude > high.longitude, phạm vi kinh độ sẽ bị đảo ngược (khung nhìn vượt qua đường kinh độ 180 độ).

  • Nếu low.longitude = -180 độ và high.longitude = 180 độ, thì khung nhìn sẽ bao gồm tất cả các kinh độ.

  • Nếu low.longitude = 180 độ và high.longitude = -180 độ, thì phạm vi kinh độ sẽ trống.

  • Nếu low.latitude > high.latitude, thì phạm vi vĩ độ sẽ trống.

Cả lowhigh đều phải được điền và không được để trống hộp được đại diện (như được chỉ định trong các định nghĩa ở trên). Khung nhìn trống sẽ gây ra lỗi.

Ví dụ: khung nhìn này bao quanh đầy đủ Thành phố New York:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Biểu diễn dưới dạng JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Trường
low

object (LatLng)

Bắt buộc. Điểm thấp của khung nhìn.

high

object (LatLng)

Bắt buộc. Điểm cao của khung nhìn.

RouteLocalizedValues

Phần văn bản đại diện cho một số thuộc tính nhất định.

Biểu diễn dưới dạng JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Trường
distance

object (LocalizedText)

Quãng đường đi được thể hiện dưới dạng văn bản.

duration

object (LocalizedText)

Thời lượng có tính đến điều kiện giao thông, được thể hiện dưới dạng văn bản. Lưu ý: Nếu bạn không yêu cầu thông tin lưu lượng truy cập, thì giá trị này sẽ bằng với staticDuration.

staticDuration

object (LocalizedText)

Thời lượng không tính đến điều kiện giao thông, được thể hiện ở dạng văn bản.

transitFare

object (LocalizedText)

Giá vé phương tiện công cộng được thể hiện ở dạng văn bản.

GeocodingResults

Chứa GeocodedWaypoints cho điểm gốc, điểm đến và điểm tham chiếu trung gian. Chỉ được điền cho điểm tham chiếu địa chỉ.

Biểu diễn dưới dạng JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Trường
origin

object (GeocodedWaypoint)

Điểm tham chiếu được mã hoá địa lý tại nguồn gốc.

destination

object (GeocodedWaypoint)

Điểm tham chiếu được mã hoá địa lý cho đích đến.

intermediates[]

object (GeocodedWaypoint)

Danh sách các điểm tham chiếu được mã hoá địa lý trung gian, mỗi điểm chứa một trường chỉ mục tương ứng với vị trí dựa trên 0 của điểm tham chiếu theo thứ tự được chỉ định trong yêu cầu.

GeocodedWaypoint

Thông tin chi tiết về vị trí được dùng làm điểm tham chiếu. Chỉ được điền cho điểm tham chiếu địa chỉ. Bao gồm thông tin chi tiết về kết quả mã hoá địa lý nhằm xác định địa chỉ được mã hoá địa lý đến.

Biểu diễn dưới dạng JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Trường
geocoderStatus

object (Status)

Cho biết mã trạng thái do thao tác mã hoá địa lý tạo ra.

type[]

string

(Các) loại kết quả, ở dạng 0 hoặc nhiều thẻ loại. Các loại được hỗ trợ: Loại địa chỉ và loại thành phần địa chỉ.

partialMatch

boolean

Cho biết rằng bộ mã hoá địa lý không trả về kết quả khớp chính xác cho yêu cầu ban đầu, mặc dù bộ mã hoá có thể khớp với một phần địa chỉ được yêu cầu. Bạn có thể kiểm tra lỗi chính tả trong yêu cầu ban đầu và/hoặc địa chỉ chưa hoàn chỉnh.

placeId

string

Mã địa điểm cho kết quả này.

intermediateWaypointRequestIndex

integer

Chỉ mục của điểm tham chiếu trung gian tương ứng trong yêu cầu. Chỉ được điền nếu điểm tham chiếu tương ứng là điểm tham chiếu trung gian.