// 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"; // 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 URL parameter // `$fields` or `fields`, or by using an 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 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 discourage 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. rpc ComputeRouteMatrix(google.maps.routes.v1.ComputeRouteMatrixRequest) returns (stream google.maps.routes.v1.RouteMatrixElement) { option (google.api.http) = { post: "/v1alpha:computeRouteMatrix" body: "*" }; } }