123 lines
5.9 KiB
Protocol Buffer
123 lines
5.9 KiB
Protocol Buffer
// Copyright 2020 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.maps.routes.v1alpha;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/maps/routes/v1/compute_route_matrix_request.proto";
|
|
import "google/maps/routes/v1/compute_routes_request.proto";
|
|
import "google/maps/routes/v1/compute_routes_response.proto";
|
|
import "google/maps/routes/v1/route_matrix_element.proto";
|
|
import "google/api/client.proto";
|
|
|
|
option cc_enable_arenas = true;
|
|
option csharp_namespace = "Google.Maps.Routes.V1Alpha";
|
|
option go_package = "google.golang.org/genproto/googleapis/maps/routes/v1alpha;routes";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "RoutesServiceAlphaProto";
|
|
option java_package = "com.google.maps.routes.v1alpha";
|
|
option objc_class_prefix = "GMRS";
|
|
option php_namespace = "Google\\Maps\\Routes\\V1alpha";
|
|
|
|
// The Routes Preferred API.
|
|
service RoutesAlpha {
|
|
option (google.api.default_host) = "routespreferred.googleapis.com";
|
|
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/maps-platform.routespreferred";
|
|
|
|
// Returns the primary route along with optional alternate routes, given a set
|
|
// of terminal and intermediate waypoints.
|
|
//
|
|
// **NOTE:** This method requires that you specify a response field mask in
|
|
// the input. You can provide the response field mask by using the URL
|
|
// parameter `$fields` or `fields`, or by using the HTTP/gRPC header
|
|
// `X-Goog-FieldMask` (see the [available URL parameters and
|
|
// headers](https://cloud.google.com/apis/docs/system-parameters). The value
|
|
// is a comma separated list of field paths. See this detailed documentation
|
|
// about [how to construct the field
|
|
// paths](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto).
|
|
//
|
|
// For example, in this method:
|
|
//
|
|
// * Field mask of all available fields (for manual inspection):
|
|
// `X-Goog-FieldMask: *`
|
|
// * Field mask of Route-level duration, distance, and polyline (an example
|
|
// production setup):
|
|
// `X-Goog-FieldMask:
|
|
// routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline`
|
|
//
|
|
// Google discourages the use of the wildcard (`*`) response field mask, or
|
|
// specifying the field mask at the top level (`routes`), because:
|
|
//
|
|
// * Selecting only the fields that you need helps our server save computation
|
|
// cycles, allowing us to return the result to you with a lower latency.
|
|
// * Selecting only the fields that you need in your production job ensures
|
|
// stable latency performance. We might add more response fields in the
|
|
// future, and those new fields might require extra computation time. If you
|
|
// select all fields, or if you select all fields at the top level, then you
|
|
// might experience performance degradation because any new field we add will
|
|
// be automatically included in the response.
|
|
// * Selecting only the fields that you need results in a smaller response
|
|
// size, and thus higher network throughput.
|
|
rpc ComputeRoutes(google.maps.routes.v1.ComputeRoutesRequest) returns (google.maps.routes.v1.ComputeRoutesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:computeRoutes"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
// Takes in a list of origins and destinations and returns a stream containing
|
|
// route information for each combination of origin and destination.
|
|
//
|
|
// **NOTE:** This method requires that you specify a response field mask in
|
|
// the input. You can provide the response field mask by using the URL
|
|
// parameter `$fields` or `fields`, or by using the HTTP/gRPC header
|
|
// `X-Goog-FieldMask` (see the [available URL parameters and
|
|
// headers](https://cloud.google.com/apis/docs/system-parameters). The value
|
|
// is a comma separated list of field paths. See this detailed documentation
|
|
// about [how to construct the field
|
|
// paths](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto).
|
|
//
|
|
// For example, in this method:
|
|
//
|
|
// * Field mask of all available fields (for manual inspection):
|
|
// `X-Goog-FieldMask: *`
|
|
// * Field mask of route durations, distances, element status, condition, and
|
|
// element indices (an example production setup):
|
|
// `X-Goog-FieldMask:
|
|
// originIndex,destinationIndex,status,condition,distanceMeters,duration`
|
|
//
|
|
// It is critical that you include `status` in your field mask as otherwise
|
|
// all messages will appear to be OK. Google discourages the use of the
|
|
// wildcard (`*`) response field mask, because:
|
|
//
|
|
// * Selecting only the fields that you need helps our server save computation
|
|
// cycles, allowing us to return the result to you with a lower latency.
|
|
// * Selecting only the fields that you need in your production job ensures
|
|
// stable latency performance. We might add more response fields in the
|
|
// future, and those new fields might require extra computation time. If you
|
|
// select all fields, or if you select all fields at the top level, then you
|
|
// might experience performance degradation because any new field we add will
|
|
// be automatically included in the response.
|
|
// * Selecting only the fields that you need results in a smaller response
|
|
// size, and thus higher network throughput.
|
|
rpc ComputeRouteMatrix(google.maps.routes.v1.ComputeRouteMatrixRequest) returns (stream google.maps.routes.v1.RouteMatrixElement) {
|
|
option (google.api.http) = {
|
|
post: "/v1alpha:computeRouteMatrix"
|
|
body: "*"
|
|
};
|
|
}
|
|
}
|