Method: computeRoutes

Trả về tuyến đường chính cùng với các tuyến thay thế không bắt buộc, với một tập hợp các điểm tham chiếu đầu cuối và trung gian.

LƯU Ý: Phương thức này yêu cầu bạn chỉ định một 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 dùng tham số URL $fields hoặc fields hoặc tiêu đề HTTP/gRPC X-Goog-FieldMask (xem các tiêu đề và tham số URL có sẵn). Giá trị này 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ạ trường 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 thể hiện 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 bản phát hành 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ạ trường phản hồi ký tự đại diện (*) hoặc chỉ định mặt nạ trường ở cấp cao nhất (routes), vì:

  • Việc chỉ chọn những trường 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ả lại kết quả cho bạn với độ trễ thấp hơn.
  • Bạn chỉ nên chọn những trường mà bạn cần trong công việc phát hành công khai để đảm bảo hiệu suất ổn định về độ trễ. 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ủa bạn có thể bị suy 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.
  • Việc chỉ chọn các trường bạn cần sẽ giúp kích thước phản hồi nhỏ hơn, từ đó giúp 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), để dừng tại hoặc đi ngang qua. Hỗ trợ tối đa 25 điểm tham chiếu trung gian.

travelMode

enum (RouteTravelMode)

Không bắt buộc. Xác đị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 lựa chọn ưu tiên định tuyến đã chọn để tính toán tuyến đường. Nếu lựa chọn ưu tiên định tuyến gây ra lỗi hoặc độ trễ lâu hơn 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 lựa chọn ưu tiên của bạn về chất lượng 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ị mặc định sẽ là thời gian bạ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. Bạn có thể xem các chuyến đi bằng phương tiện công cộng trong tối đa 7 ngày trong quá khứ hoặc 100 ngày trong tương lai.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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. Bạn có thể xem các chuyến đi bằng phương tiện công cộng trong tối đa 7 ngày trong quá khứ hoặc 100 ngày trong tương lai.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 để đáp ứng điều kiện ảnh hưởng đến cách tính toán các 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 Mã nhận dạng ngôn ngữ Unicode. Hãy xem phần 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 tuyến.

regionCode

string

Không bắt buộc. Mã vùng, được chỉ định dưới dạng ccTLD ("miền cấp cao nhất") gồm hai 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. Các đơn vị đo lường dùng cho tuyến đường, chặng, quãng đường bước và thời gian không bị giá trị này ảnh hưởng. Nếu bạn không cung cấp giá trị này, thì đơn vị hiển thị sẽ được suy luận 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, thì dịch vụ sẽ tìm cách giảm thiểu tổng chi phí của tuyến bằng cách sắp xếp lại các điểm tham chiếu trung gian được chỉ định. Yêu cầu sẽ không thành công nếu có 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, thì 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 đường mặc định. Ví dụ: phép tính tuyến đường tham chiếu FUEL_EFFICIENT xét đến nhiều tham số để tạo ra một 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 ý: Các phép tính bổ sung này có thể trả về các trường bổ sung trên phản hồi. Bạn cũng phải chỉ định các trường bổ sung này trong mặt nạ trường để được trả về trong phản hồi.

trafficModel

enum (TrafficModel)

Không bắt buộc. Chỉ định các giả định cần sử dụng khi tính toán thời gian tham gia 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ác chế độ này có chứa thời gian dự đoán về lưu lượng truy cập dựa trên các mức trung bình trước đây. TrafficModel chỉ dành 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.computeRoutes 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 đã tính toán (tối đa 3 tuyến) khi bạn chỉ định compute_alternatives_routes và chỉ chứa một tuyến đường nếu bạn không chỉ định. Khi mảng này chứa nhiều mục nhập, thì tuyến đầu tiên sẽ là tuyến được đề xuất nhiều nhất. Nếu mảng trống thì có nghĩa là không tìm thấy tuyến nào.

fallbackInfo

object (FallbackInfo)

Trong một số trường hợp khi máy chủ không thể tính toán kết quả tuyến đường với tất cả các lựa chọn ưu tiên đầu vào, thì máy chủ có thể 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 làm đị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 tùy chọn chất lượng hình 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 tạo bằng cách sử dụng nhiều điểm hơn OVERVIEW), nhưng sẽ tăng kích thước phản hồi. Hãy sử dụng giá trị này khi bạn cần chính xác hơn.
OVERVIEW Chỉ định một hình nhiều đường tổng quan – được tạo 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 tuỳ chọn này sẽ có độ trễ yêu cầu thấp hơn so với việc sử dụng tuỳ chọn HIGH_QUALITY.

PolylineEncoding

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

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

ReferenceRoute

Một tuyến tham chiếu được hỗ trợ trên ComputeRoutesRequest.

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

ExtraComputation

Các phép tính bổ sung để 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ực hiện được.
TOLLS Thông tin thu 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 có khả năng nhận biết giao thông trên(các) tuyến đường.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions được trình bày dưới dạng chuỗi văn bản HTML được định dạng. Nội dung này cần được đọc nguyên trạng. Nội dung này chỉ nhằm mục đích hiển thị. Đừng phân tích cú pháp tệp theo phương thức lập trình.

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 các điểm tham chiếu đầu, cuối và 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)

Nhãn cho Route hữu ích khi 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 đường khác.

legs[]

object (RouteLeg)

Một tập hợp các chân (đoạn đường đi 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 Waypoints không phải via. Ví dụ: một tuyến đường không có điểm tham chiếu trung gian chỉ có một chặng. Tuyến bao gồm một điểm trung gian không phải via có hai chân. Một tuyến đường bao gồm một điểm 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 đặt 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ố phân số, kết thúc bằng "s". Ví dụ: "3.5s".

staticDuration

string (Duration format)

Thời gian di chuyển trên 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ố phân số, kết thúc bằng "s". Ví dụ: "3.5s".

polyline

object (Polyline)

Hình nhiều đường tổng thể. 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ảnh báo cần xuất hiện khi hiện 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ự tối ưu của các điểm tham chiếu trung gian. Nếu không, trường này sẽ trống. Ví dụ: nếu bạn nhập giá trị Origin: LA; Điểm tham chiếu trung gian: Dallas, Bangor, Phoenix; Điểm đến: New York; và thứ tự điểm tham chiếu trung gian được tối ưu hóa 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)

Biểu diễn văn bản 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 trên web có thể được truyền đến SDK Navigation, cho phép SDK Navigation có thể xây dựng 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 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ờ. Đừng so sánh giá trị của mã giữa các yêu cầu – mã thông báo này có thể thay đổi ngay cả khi hệ thống trả về cùng một tuyến. LƯU Ý: Route.route_token chỉ có sẵn 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

Nhãn cho Route hữu ích khi 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 đường khác.

Enum
ROUTE_LABEL_UNSPECIFIED Mặc định – không được sử dụng.
DEFAULT_ROUTE Giá trị mặc định "tốt nhất" tuyến đường được trả về để tính toán tuyến đường.
DEFAULT_ROUTE_ALTERNATE Giải pháp thay thế cho giá trị mặc định "tốt nhất" tuyến đường. Các tuyến như thế này sẽ được trả về khi computeAlternativeRoutes được chỉ định.
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 thông số Tiết kiệm năng lượng, 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 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 của 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 một chặng. 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 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ố phân số, kết thúc bằng "s". Ví dụ: "3.5s".

staticDuration

string (Duration format)

Thời gian di chuyển qua đoạn đường đó, được tính 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ố phân số, kết thúc bằng "s". Ví dụ: "3.5s".

polyline

object (Polyline)

Hình nhiều đường tổng thể cho chặng này bao gồm từng hình nhiều đường của step.

startLocation

object (Location)

Vị trí bắt đầu của chặng này. Vị trí này có thể khác với origin mà bạn 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ặng này. Vị trí này có thể khác với destination mà bạn 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 dãy các bước biểu thị các đoạn trong chặng này. Mỗi bước đại diện cho một lệnh điều hướng.

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 quy định hạn chế về khu vực giao thông (có thể có) trên một tuyến đường.

localizedValues

object (RouteLegLocalizedValues)

Biểu diễn văn bản 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 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 kết 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 đây:
encodedPolyline

string

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

geoJsonLinestring

object (Struct format)

Chỉ định một hình nhiều đường bằ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 lệnh điều hướng. 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 đi lại 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 thông 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ố phân số, 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 đi theo chỉ dẫn.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Chứa thông tin bổ sung mà người dùng phải thông báo (chẳng hạn như có thể có các quy định hạn chế về khu vực giao thông) khi đi bằng chân.

localizedValues

object (RouteLegStepLocalizedValues)

Biểu diễn văn bản 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.

Thao tác

Một tập hợp các giá trị chỉ định thao tác 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 nhẹ sang trái.
TURN_SHARP_LEFT Rẽ ngoặt sang trái.
UTURN_LEFT Vòng sang trái.
TURN_LEFT Rẽ trái.
TURN_SLIGHT_RIGHT Xoay nhẹ sang phải.
TURN_SHARP_RIGHT Rẽ ngoặt sang phải.
UTURN_RIGHT Vòng sang phải.
TURN_RIGHT Rẽ phải.
STRAIGHT Đi thẳng.
RAMP_LEFT Đi theo đoạn đường nối bên trái.
RAMP_RIGHT Đi theo đoạn đường nối bên phải.
MERGE Hợp nhất vào lưu lượng truy cập.
FORK_LEFT Rẽ trái.
FORK_RIGHT Chọn ngã ba bên phải.
FERRY Đi phà.
FERRY_TRAIN Đi tàu dẫn lên phà.
ROUNDABOUT_LEFT Rẽ trái tại đường vòng.
ROUNDABOUT_RIGHT Rẽ phải tại đường vòng.
DEPART Thao tác ban đầu.
NAME_CHANGE Được dùng để biểu thị việc thay đổi tên đường phố.

RouteLegStepTravelAdvisory

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ó thể có các quy định hạn chế về khu vực giao thông trên một chặng 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 sẵn.

RouteLegStepLocalizedValues

Biểu diễn văn bản của một số thuộc 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 trong dạng văn bản.

staticDuration

object (LocalizedText)

Thời lượng mà không tính đến tình trạng giao thông, được trình bày ở dạng văn bản.

RouteLegStepTransitDetails

Thông tin bổ sung cho 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ểm khởi hành cho chặng đi.

localizedValues

object (TransitDetailsLocalizedValues)

Biểu diễn văn bản các thuộc tính của RouteLegStepTransitDetails.

headsign

string

Nêu rõ hướng di chuyển trên tuyến này, như được đánh dấu trên xe hoặc tại điểm dừng khởi hành. Hướng đi thường là trạm cuối.

headway

string (Duration format)

Chỉ định thời gian dự kiến dưới dạng khoảng thời gian giữa các chuyến khởi hành từ cùng một điểm dừng vào thời điểm này. Ví dụ: với giá trị giây đi đầu là 600, bạn sẽ phải đợi 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ố phân số, 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. Số lượng này bao gồm điểm dừng đến, nhưng không bao gồm điểm dừng khởi hành. Ví dụ: Nếu tuyến đường của bạn khởi hành từ Điểm dừng A, đi qua các điểm dừng B và C và đến tại điểm dừng D, thì StopCount sẽ trả về 3.

tripShortText

string

Văn bản xuất hiện trong lịch trình và bảng biển báo để 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 ngày phục 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 Samoa, CA.

TransitStopDetails

Thông tin chi tiết về các trạm dừng phương tiện công cộng của 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 chân đến của chặng.

arrivalTime

string (Timestamp format)

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

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 chặng này.

departureTime

string (Timestamp format)

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

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

TransitStop

Thông tin về một trạm 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 phương tiện công cộng.

location

object (Location)

Vị trí của điểm dừng được biểu thị bằng toạ độ vĩ độ/kinh độ.

TransitDetailsLocalizedValues

Nội dung mô tả đã bản địa hoá của các giá trị 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 trong văn bản được định dạng thể hiện với múi giờ tương ứng.

departureTime

object (LocalizedTime)

Thời gian trong văn bản được định dạng thể hiệ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 tại một múi giờ nhất định.

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ụ: "Mỹ/New_ York".

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 tuyến phương tiện công cộng 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 thường dùng trong biển hiệu cho dò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 sẽ là một số dòng, chẳng hạn như "M7" hoặc "355".

textColor

string

Màu thường dùng trong văn bản trên biển 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 tuyến phương tiện công cộng này.

TransitAgency

Một công ty vận tải điều hành một tuyến phương tiện công cộng.

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 theo địa phương 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ề xe dùng trên các tuyến đường dành cho 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 xe này, viết hoa.

type

enum (TransitVehicleType)

Loại xe được sử dụng.

iconUri

string

URI của một biểu tượng liên kết với loại xe này.

localIconUri

string

URI của biểu tượng liên kết với loại xe này, dựa trên biển báo giao thông tại đị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 là ở trên mặt đất. Toa cáp treo 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 được kéo lên một đoạn dốc đứng bằng dây cáp. Đường sắt có dây kéo thường gồm hai toa, mỗi toa đóng vai trò là đối trọng cho xe còn lại.
GONDOLA_LIFT Tuyến 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 Tàu đường dài.
METRO_RAIL Phương tiện bằng tàu điện.
MONORAIL Xe lửa chạy trên đường một ray.
OTHER Tất cả các loại xe khác.
RAIL Đường sắt.
SHARE_TAXI Taxi đi chung là một loại xe buýt có khả năng xuống và đón khách ở bất cứ đâu trên tuyến đường của mình.
SUBWAY Tàu điện dưới lòng đất.
TRAM Tàu điện trên mặt đất.
TROLLEYBUS Ô tô điện.

RouteLegTravelAdvisory

Chứa thông tin bổ sung mà người dùng phải biết khi đi bằng 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ề lệ phí cầu đường trên RouteLeg cụ thể. Trường này chỉ được điền sẵn nếu chúng tôi dự kiến sẽ có thu phí trên RouteLeg. Nếu bạn đặt trường này nhưng trường phụ estimatedPrice không được điền, chúng tôi dự kiến rằng đường đó có thu phí 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ì sẽ không có phí trên RouteLeg.

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 có lựa chọn ưu tiên về định tuyến TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL. Các khoảng này bao gồm toàn bộ hình nhiều đường của RouteLeg mà không chồng chéo nhau. Đ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 trước đó.

Ví dụ:

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

RouteLegLocalizedValues

Biểu diễn văn bản của một số thuộc 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 trong 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ạ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 mà không tính đến tình trạng giao thông, được trình bày ở 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 khúc đa phương thức 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 nào 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 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 nào 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)

Hướng dẫn điều hướng cho đoạn đường đa phương thức.

travelMode

enum (RouteTravelMode)

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

stepStartIndex

integer

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

stepEndIndex

integer

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

Khung nhìn

Khung nhìn vĩ độ – kinh độ, được biểu thị bằng hai đường chéo đối diện điểm lowhigh. Một khung nhìn được xem là một khu vực đóng, tức là khu vực đó bao gồm cả 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ó nhiều trường hợp như sau:

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

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

  • Nếu low.longitude = -180 độ và high.longitude = 180 độ, 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 độ trống.

  • Nếu low.latitude > high.latitude, phạm vi vĩ độ bị trống.

Cả lowhigh đều phải được điền và không được để trống ô được thể hiện (như được chỉ định trong các định nghĩa ở trên). Chế độ xem trống sẽ dẫn đến lỗi.

Ví dụ: khung nhìn này bao quanh hoàn toàn 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

Biểu diễn văn bản của một số thuộc 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 trong 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ạ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 mà không tính đến tình trạng giao thông, được thể hiện ở dạng văn bản.

transitFare

object (LocalizedText)

Giá vé đi phương tiện công cộng được trình bày ở dạng văn bản.

GeocodingResults

Chứa GeocodedWaypoints cho điểm xuất phát, điểm đến và điểm tham chiếu trung gian. Chỉ được điền sẵ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ý của điểm gốc.

destination

object (GeocodedWaypoint)

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

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ự chúng được chỉ định trong yêu cầu.

GeocodedWaypoint

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

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 không 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 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 một phần địa chỉ được yêu cầu. Bạn nên kiểm tra yêu cầu ban đầu để xem có lỗi chính tả và/hoặc địa chỉ chưa hoàn chỉnh hay không.

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 sẵn nếu điểm tham chiếu tương ứng là điểm tham chiếu trung gian.