From 66e8e2717b2593f4e5640ecb97344bb1d5e5fc0b Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Fri, 11 Nov 2022 09:45:08 -0700 Subject: [PATCH] feat(routing): start generating apiv2 (#7011) --- internal/.repo-metadata-full.json | 9 + internal/aliasfix/mappings.go | 4 + internal/gapicgen/generator/config.go | 16 +- maps/routing/apiv2/doc.go | 172 ++ maps/routing/apiv2/gapic_metadata.json | 28 + maps/routing/apiv2/routes_client.go | 293 ++++ .../apiv2/routes_client_example_test.go | 66 + .../apiv2/routingpb/fallback_info.pb.go | 327 ++++ maps/routing/apiv2/routingpb/location.pb.go | 200 +++ maps/routing/apiv2/routingpb/maneuver.pb.go | 247 +++ .../routingpb/navigation_instruction.pb.go | 196 +++ maps/routing/apiv2/routingpb/polyline.pb.go | 356 ++++ maps/routing/apiv2/routingpb/route.pb.go | 988 +++++++++++ .../routing/apiv2/routingpb/route_label.pb.go | 176 ++ .../apiv2/routingpb/route_modifiers.pb.go | 259 +++ .../apiv2/routingpb/route_travel_mode.pb.go | 177 ++ .../apiv2/routingpb/routes_service.pb.go | 1459 +++++++++++++++++ .../apiv2/routingpb/routing_preference.pb.go | 186 +++ .../routingpb/speed_reading_interval.pb.go | 277 ++++ maps/routing/apiv2/routingpb/toll_info.pb.go | 185 +++ .../routing/apiv2/routingpb/toll_passes.pb.go | 669 ++++++++ maps/routing/apiv2/routingpb/units.pb.go | 165 ++ .../routingpb/vehicle_emission_type.pb.go | 178 ++ .../apiv2/routingpb/vehicle_info.pb.go | 185 +++ maps/routing/apiv2/routingpb/waypoint.pb.go | 278 ++++ maps/routing/apiv2/version.go | 23 + 26 files changed, 7114 insertions(+), 5 deletions(-) create mode 100644 maps/routing/apiv2/doc.go create mode 100644 maps/routing/apiv2/gapic_metadata.json create mode 100644 maps/routing/apiv2/routes_client.go create mode 100644 maps/routing/apiv2/routes_client_example_test.go create mode 100644 maps/routing/apiv2/routingpb/fallback_info.pb.go create mode 100644 maps/routing/apiv2/routingpb/location.pb.go create mode 100644 maps/routing/apiv2/routingpb/maneuver.pb.go create mode 100644 maps/routing/apiv2/routingpb/navigation_instruction.pb.go create mode 100644 maps/routing/apiv2/routingpb/polyline.pb.go create mode 100644 maps/routing/apiv2/routingpb/route.pb.go create mode 100644 maps/routing/apiv2/routingpb/route_label.pb.go create mode 100644 maps/routing/apiv2/routingpb/route_modifiers.pb.go create mode 100644 maps/routing/apiv2/routingpb/route_travel_mode.pb.go create mode 100644 maps/routing/apiv2/routingpb/routes_service.pb.go create mode 100644 maps/routing/apiv2/routingpb/routing_preference.pb.go create mode 100644 maps/routing/apiv2/routingpb/speed_reading_interval.pb.go create mode 100644 maps/routing/apiv2/routingpb/toll_info.pb.go create mode 100644 maps/routing/apiv2/routingpb/toll_passes.pb.go create mode 100644 maps/routing/apiv2/routingpb/units.pb.go create mode 100644 maps/routing/apiv2/routingpb/vehicle_emission_type.pb.go create mode 100644 maps/routing/apiv2/routingpb/vehicle_info.pb.go create mode 100644 maps/routing/apiv2/routingpb/waypoint.pb.go create mode 100644 maps/routing/apiv2/version.go diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json index b25dc3d2bb7..ac3f773f8dd 100644 --- a/internal/.repo-metadata-full.json +++ b/internal/.repo-metadata-full.json @@ -1061,6 +1061,15 @@ "release_level": "beta", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/maps/routing/apiv2": { + "distribution_name": "cloud.google.com/go/maps/routing/apiv2", + "description": "Routes API", + "language": "Go", + "client_library_type": "generated", + "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/maps/latest/routing/apiv2", + "release_level": "beta", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/mediatranslation/apiv1beta1": { "distribution_name": "cloud.google.com/go/mediatranslation/apiv1beta1", "description": "Media Translation API", diff --git a/internal/aliasfix/mappings.go b/internal/aliasfix/mappings.go index 35ef413a6ef..45ada721287 100644 --- a/internal/aliasfix/mappings.go +++ b/internal/aliasfix/mappings.go @@ -838,4 +838,8 @@ var GenprotoPkgMigration map[string]Pkg = map[string]Pkg{ ImportPath: "cloud.google.com/go/maps/addressvalidation/apiv1/addressvalidationpb", Status: StatusMigrated, }, + "google.golang.org/genproto/googleapis/maps/routing/v2": { + ImportPath: "cloud.google.com/go/maps/routing/apiv2/routingpb", + Status: StatusMigrated, + }, } diff --git a/internal/gapicgen/generator/config.go b/internal/gapicgen/generator/config.go index 6aa39145ede..5ce438b8a71 100644 --- a/internal/gapicgen/generator/config.go +++ b/internal/gapicgen/generator/config.go @@ -1705,8 +1705,7 @@ var MicrogenGapicConfigs = []*MicrogenConfig{ GRPCServiceConfigPath: "dialogflow_grpc_service_config.json", ApiServiceConfigPath: "dialogflow_v2beta1.yaml", Transports: []string{"grpc", "rest"}, - // GA after 2022/10/01 - ReleaseLevel: "beta", + ReleaseLevel: "beta", }, { InputDirectoryPath: "google/iam/v2", @@ -1724,8 +1723,7 @@ var MicrogenGapicConfigs = []*MicrogenConfig{ GRPCServiceConfigPath: "publicca_v1beta1_grpc_service_config.json", ApiServiceConfigPath: "publicca_v1beta1.yaml", Transports: []string{"grpc", "rest"}, - // GA after 2022/10/10 - ReleaseLevel: "beta", + ReleaseLevel: "beta", }, { InputDirectoryPath: "google/cloud/edgecontainer/v1", @@ -1771,7 +1769,15 @@ var MicrogenGapicConfigs = []*MicrogenConfig{ GRPCServiceConfigPath: "dataform_grpc_service_config.json", ApiServiceConfigPath: "dataform_v1beta1.yaml", Transports: []string{"grpc", "rest"}, - // GA after 2022/11/18 + ReleaseLevel: "beta", + }, + { + InputDirectoryPath: "google/maps/routing/v2", + Pkg: "routing", + ImportPath: "cloud.google.com/go/maps/routing/apiv2", + GRPCServiceConfigPath: "library_grpc_service_config.json", + ApiServiceConfigPath: "routes_v2.yaml", + // GA after 2022/12/10 ReleaseLevel: "beta", }, { diff --git a/maps/routing/apiv2/doc.go b/maps/routing/apiv2/doc.go new file mode 100644 index 00000000000..a620f1fd42d --- /dev/null +++ b/maps/routing/apiv2/doc.go @@ -0,0 +1,172 @@ +// Copyright 2022 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 +// +// https://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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// Package routing is an auto-generated package for the +// Routes API. +// +// routes.googleapis.com (at http://routes.googleapis.com) API. +// +// NOTE: This package is in beta. It is not stable, and may be subject to changes. +// +// # Example usage +// +// To get started with this package, create a client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := routing.NewRoutesClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// The client will use your default application credentials. Clients should be reused instead of created as needed. +// The methods of Client are safe for concurrent use by multiple goroutines. +// The returned client must be Closed when it is done being used. +// +// # Using the Client +// +// The following is an example of making an API call with the newly created client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := routing.NewRoutesClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// req := &routingpb.ComputeRoutesRequest{ +// // TODO: Fill request struct fields. +// // See https://pkg.go.dev/cloud.google.com/go/maps/routing/apiv2/routingpb#ComputeRoutesRequest. +// } +// resp, err := c.ComputeRoutes(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// // TODO: Use resp. +// _ = resp +// +// # Use of Context +// +// The ctx passed to NewRoutesClient is used for authentication requests and +// for creating the underlying connection, but is not used for subsequent calls. +// Individual methods on the client use the ctx given to them. +// +// To close the open connection, use the Close() method. +// +// For information about setting deadlines, reusing contexts, and more +// please visit https://pkg.go.dev/cloud.google.com/go. +package routing // import "cloud.google.com/go/maps/routing/apiv2" + +import ( + "context" + "os" + "runtime" + "strconv" + "strings" + "unicode" + + "google.golang.org/api/option" + "google.golang.org/grpc/metadata" +) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context { + out, _ := metadata.FromOutgoingContext(ctx) + out = out.Copy() + for _, md := range mds { + for k, v := range md { + out[k] = append(out[k], v...) + } + } + return metadata.NewOutgoingContext(ctx, out) +} + +func checkDisableDeadlines() (bool, error) { + raw, ok := os.LookupEnv("GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE") + if !ok { + return false, nil + } + + b, err := strconv.ParseBool(raw) + return b, err +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "", + } +} + +// versionGo returns the Go runtime version. The returned string +// has no whitespace, suitable for reporting in header. +func versionGo() string { + const develPrefix = "devel +" + + s := runtime.Version() + if strings.HasPrefix(s, develPrefix) { + s = s[len(develPrefix):] + if p := strings.IndexFunc(s, unicode.IsSpace); p >= 0 { + s = s[:p] + } + return s + } + + notSemverRune := func(r rune) bool { + return !strings.ContainsRune("0123456789.", r) + } + + if strings.HasPrefix(s, "go1") { + s = s[2:] + var prerelease string + if p := strings.IndexFunc(s, notSemverRune); p >= 0 { + s, prerelease = s[:p], s[p:] + } + if strings.HasSuffix(s, ".") { + s += "0" + } else if strings.Count(s, ".") < 2 { + s += ".0" + } + if prerelease != "" { + s += "-" + prerelease + } + return s + } + return "UNKNOWN" +} diff --git a/maps/routing/apiv2/gapic_metadata.json b/maps/routing/apiv2/gapic_metadata.json new file mode 100644 index 00000000000..d35c03d0ed3 --- /dev/null +++ b/maps/routing/apiv2/gapic_metadata.json @@ -0,0 +1,28 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods.", + "language": "go", + "protoPackage": "google.maps.routing.v2", + "libraryPackage": "cloud.google.com/go/maps/routing/apiv2", + "services": { + "Routes": { + "clients": { + "grpc": { + "libraryClient": "RoutesClient", + "rpcs": { + "ComputeRouteMatrix": { + "methods": [ + "ComputeRouteMatrix" + ] + }, + "ComputeRoutes": { + "methods": [ + "ComputeRoutes" + ] + } + } + } + } + } + } +} diff --git a/maps/routing/apiv2/routes_client.go b/maps/routing/apiv2/routes_client.go new file mode 100644 index 00000000000..59bb1b5218c --- /dev/null +++ b/maps/routing/apiv2/routes_client.go @@ -0,0 +1,293 @@ +// Copyright 2022 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 +// +// https://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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package routing + +import ( + "context" + "math" + + routingpb "cloud.google.com/go/maps/routing/apiv2/routingpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + "google.golang.org/grpc" + "google.golang.org/grpc/metadata" +) + +var newRoutesClientHook clientHook + +// RoutesCallOptions contains the retry settings for each method of RoutesClient. +type RoutesCallOptions struct { + ComputeRoutes []gax.CallOption + ComputeRouteMatrix []gax.CallOption +} + +func defaultRoutesGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("routes.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("routes.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://routes.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultRoutesCallOptions() *RoutesCallOptions { + return &RoutesCallOptions{ + ComputeRoutes: []gax.CallOption{}, + ComputeRouteMatrix: []gax.CallOption{}, + } +} + +// internalRoutesClient is an interface that defines the methods available from Routes API. +type internalRoutesClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ComputeRoutes(context.Context, *routingpb.ComputeRoutesRequest, ...gax.CallOption) (*routingpb.ComputeRoutesResponse, error) + ComputeRouteMatrix(context.Context, *routingpb.ComputeRouteMatrixRequest, ...gax.CallOption) (routingpb.Routes_ComputeRouteMatrixClient, error) +} + +// RoutesClient is a client for interacting with Routes API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// The Routes API. +type RoutesClient struct { + // The internal transport-dependent client. + internalClient internalRoutesClient + + // The call options for this service. + CallOptions *RoutesCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *RoutesClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *RoutesClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *RoutesClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ComputeRoutes 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 (at 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 (at 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. +func (c *RoutesClient) ComputeRoutes(ctx context.Context, req *routingpb.ComputeRoutesRequest, opts ...gax.CallOption) (*routingpb.ComputeRoutesResponse, error) { + return c.internalClient.ComputeRoutes(ctx, req, opts...) +} + +// ComputeRouteMatrix 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 (at 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 (at 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. +func (c *RoutesClient) ComputeRouteMatrix(ctx context.Context, req *routingpb.ComputeRouteMatrixRequest, opts ...gax.CallOption) (routingpb.Routes_ComputeRouteMatrixClient, error) { + return c.internalClient.ComputeRouteMatrix(ctx, req, opts...) +} + +// routesGRPCClient is a client for interacting with Routes API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type routesGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing RoutesClient + CallOptions **RoutesCallOptions + + // The gRPC API client. + routesClient routingpb.RoutesClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewRoutesClient creates a new routes client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// The Routes API. +func NewRoutesClient(ctx context.Context, opts ...option.ClientOption) (*RoutesClient, error) { + clientOpts := defaultRoutesGRPCClientOptions() + if newRoutesClientHook != nil { + hookOpts, err := newRoutesClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := RoutesClient{CallOptions: defaultRoutesCallOptions()} + + c := &routesGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + routesClient: routingpb.NewRoutesClient(connPool), + CallOptions: &client.CallOptions, + } + c.setGoogleClientInfo() + + client.internalClient = c + + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *routesGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *routesGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...)) +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *routesGRPCClient) Close() error { + return c.connPool.Close() +} + +func (c *routesGRPCClient) ComputeRoutes(ctx context.Context, req *routingpb.ComputeRoutesRequest, opts ...gax.CallOption) (*routingpb.ComputeRoutesResponse, error) { + ctx = insertMetadata(ctx, c.xGoogMetadata) + opts = append((*c.CallOptions).ComputeRoutes[0:len((*c.CallOptions).ComputeRoutes):len((*c.CallOptions).ComputeRoutes)], opts...) + var resp *routingpb.ComputeRoutesResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.routesClient.ComputeRoutes(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *routesGRPCClient) ComputeRouteMatrix(ctx context.Context, req *routingpb.ComputeRouteMatrixRequest, opts ...gax.CallOption) (routingpb.Routes_ComputeRouteMatrixClient, error) { + ctx = insertMetadata(ctx, c.xGoogMetadata) + var resp routingpb.Routes_ComputeRouteMatrixClient + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.routesClient.ComputeRouteMatrix(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/maps/routing/apiv2/routes_client_example_test.go b/maps/routing/apiv2/routes_client_example_test.go new file mode 100644 index 00000000000..b0424124fa7 --- /dev/null +++ b/maps/routing/apiv2/routes_client_example_test.go @@ -0,0 +1,66 @@ +// Copyright 2022 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 +// +// https://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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package routing_test + +import ( + "context" + + routing "cloud.google.com/go/maps/routing/apiv2" + routingpb "cloud.google.com/go/maps/routing/apiv2/routingpb" +) + +func ExampleNewRoutesClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := routing.NewRoutesClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleRoutesClient_ComputeRoutes() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := routing.NewRoutesClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &routingpb.ComputeRoutesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/maps/routing/apiv2/routingpb#ComputeRoutesRequest. + } + resp, err := c.ComputeRoutes(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/maps/routing/apiv2/routingpb/fallback_info.pb.go b/maps/routing/apiv2/routingpb/fallback_info.pb.go new file mode 100644 index 00000000000..016e158214c --- /dev/null +++ b/maps/routing/apiv2/routingpb/fallback_info.pb.go @@ -0,0 +1,327 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/fallback_info.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Reasons for using fallback response. +type FallbackReason int32 + +const ( + // No fallback reason specified. + FallbackReason_FALLBACK_REASON_UNSPECIFIED FallbackReason = 0 + // A server error happened while calculating routes with your preferred + // routing mode, but we were able to return a result calculated by an + // alternative mode. + FallbackReason_SERVER_ERROR FallbackReason = 1 + // We were not able to finish the calculation with your preferred routing mode + // on time, but we were able to return a result calculated by an alternative + // mode. + FallbackReason_LATENCY_EXCEEDED FallbackReason = 2 +) + +// Enum value maps for FallbackReason. +var ( + FallbackReason_name = map[int32]string{ + 0: "FALLBACK_REASON_UNSPECIFIED", + 1: "SERVER_ERROR", + 2: "LATENCY_EXCEEDED", + } + FallbackReason_value = map[string]int32{ + "FALLBACK_REASON_UNSPECIFIED": 0, + "SERVER_ERROR": 1, + "LATENCY_EXCEEDED": 2, + } +) + +func (x FallbackReason) Enum() *FallbackReason { + p := new(FallbackReason) + *p = x + return p +} + +func (x FallbackReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FallbackReason) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_fallback_info_proto_enumTypes[0].Descriptor() +} + +func (FallbackReason) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_fallback_info_proto_enumTypes[0] +} + +func (x FallbackReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FallbackReason.Descriptor instead. +func (FallbackReason) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_fallback_info_proto_rawDescGZIP(), []int{0} +} + +// Actual routing mode used for returned fallback response. +type FallbackRoutingMode int32 + +const ( + // Not used. + FallbackRoutingMode_FALLBACK_ROUTING_MODE_UNSPECIFIED FallbackRoutingMode = 0 + // Indicates the "TRAFFIC_UNAWARE" routing mode was used to compute the + // response. + FallbackRoutingMode_FALLBACK_TRAFFIC_UNAWARE FallbackRoutingMode = 1 + // Indicates the "TRAFFIC_AWARE" routing mode was used to compute the + // response. + FallbackRoutingMode_FALLBACK_TRAFFIC_AWARE FallbackRoutingMode = 2 +) + +// Enum value maps for FallbackRoutingMode. +var ( + FallbackRoutingMode_name = map[int32]string{ + 0: "FALLBACK_ROUTING_MODE_UNSPECIFIED", + 1: "FALLBACK_TRAFFIC_UNAWARE", + 2: "FALLBACK_TRAFFIC_AWARE", + } + FallbackRoutingMode_value = map[string]int32{ + "FALLBACK_ROUTING_MODE_UNSPECIFIED": 0, + "FALLBACK_TRAFFIC_UNAWARE": 1, + "FALLBACK_TRAFFIC_AWARE": 2, + } +) + +func (x FallbackRoutingMode) Enum() *FallbackRoutingMode { + p := new(FallbackRoutingMode) + *p = x + return p +} + +func (x FallbackRoutingMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FallbackRoutingMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_fallback_info_proto_enumTypes[1].Descriptor() +} + +func (FallbackRoutingMode) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_fallback_info_proto_enumTypes[1] +} + +func (x FallbackRoutingMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FallbackRoutingMode.Descriptor instead. +func (FallbackRoutingMode) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_fallback_info_proto_rawDescGZIP(), []int{1} +} + +// Information related to how and why a fallback result was used. If this field +// is set, then it means the server used a different routing mode from your +// preferred mode as fallback. +type FallbackInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routing mode used for the response. If fallback was triggered, the mode + // may be different from routing preference set in the original client + // request. + RoutingMode FallbackRoutingMode `protobuf:"varint,1,opt,name=routing_mode,json=routingMode,proto3,enum=google.maps.routing.v2.FallbackRoutingMode" json:"routing_mode,omitempty"` + // The reason why fallback response was used instead of the original response. + // This field is only populated when the fallback mode is triggered and the + // fallback response is returned. + Reason FallbackReason `protobuf:"varint,2,opt,name=reason,proto3,enum=google.maps.routing.v2.FallbackReason" json:"reason,omitempty"` +} + +func (x *FallbackInfo) Reset() { + *x = FallbackInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_fallback_info_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FallbackInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FallbackInfo) ProtoMessage() {} + +func (x *FallbackInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_fallback_info_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FallbackInfo.ProtoReflect.Descriptor instead. +func (*FallbackInfo) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_fallback_info_proto_rawDescGZIP(), []int{0} +} + +func (x *FallbackInfo) GetRoutingMode() FallbackRoutingMode { + if x != nil { + return x.RoutingMode + } + return FallbackRoutingMode_FALLBACK_ROUTING_MODE_UNSPECIFIED +} + +func (x *FallbackInfo) GetReason() FallbackReason { + if x != nil { + return x.Reason + } + return FallbackReason_FALLBACK_REASON_UNSPECIFIED +} + +var File_google_maps_routing_v2_fallback_info_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_fallback_info_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2a, 0x59, 0x0a, 0x0e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4c, 0x4c, 0x42, + 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, + 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, + 0x2a, 0x76, 0x0a, 0x13, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x41, 0x4c, 0x4c, 0x42, + 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, + 0x0a, 0x18, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, + 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x41, 0x57, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, + 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, + 0x5f, 0x41, 0x57, 0x41, 0x52, 0x45, 0x10, 0x02, 0x42, 0xc9, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x11, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, + 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, + 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_fallback_info_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_fallback_info_proto_rawDescData = file_google_maps_routing_v2_fallback_info_proto_rawDesc +) + +func file_google_maps_routing_v2_fallback_info_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_fallback_info_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_fallback_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_fallback_info_proto_rawDescData) + }) + return file_google_maps_routing_v2_fallback_info_proto_rawDescData +} + +var file_google_maps_routing_v2_fallback_info_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_maps_routing_v2_fallback_info_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_fallback_info_proto_goTypes = []interface{}{ + (FallbackReason)(0), // 0: google.maps.routing.v2.FallbackReason + (FallbackRoutingMode)(0), // 1: google.maps.routing.v2.FallbackRoutingMode + (*FallbackInfo)(nil), // 2: google.maps.routing.v2.FallbackInfo +} +var file_google_maps_routing_v2_fallback_info_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.FallbackInfo.routing_mode:type_name -> google.maps.routing.v2.FallbackRoutingMode + 0, // 1: google.maps.routing.v2.FallbackInfo.reason:type_name -> google.maps.routing.v2.FallbackReason + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_fallback_info_proto_init() } +func file_google_maps_routing_v2_fallback_info_proto_init() { + if File_google_maps_routing_v2_fallback_info_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_fallback_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FallbackInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_fallback_info_proto_rawDesc, + NumEnums: 2, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_fallback_info_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_fallback_info_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_fallback_info_proto_enumTypes, + MessageInfos: file_google_maps_routing_v2_fallback_info_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_fallback_info_proto = out.File + file_google_maps_routing_v2_fallback_info_proto_rawDesc = nil + file_google_maps_routing_v2_fallback_info_proto_goTypes = nil + file_google_maps_routing_v2_fallback_info_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/location.pb.go b/maps/routing/apiv2/routingpb/location.pb.go new file mode 100644 index 00000000000..dbfc9701cb2 --- /dev/null +++ b/maps/routing/apiv2/routingpb/location.pb.go @@ -0,0 +1,200 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/location.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + latlng "google.golang.org/genproto/googleapis/type/latlng" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates a location (a geographic point, and an optional heading). +type Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The waypoint's geographic coordinates. + LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"` + // The compass heading associated with the direction of the flow of traffic. + // This value is used to specify the side of the road to use for pickup and + // drop-off. Heading values can be from 0 to 360, where 0 specifies a heading + // of due North, 90 specifies a heading of due East, etc. You can use this + // field only for `DRIVE` and `TWO_WHEELER` travel modes. + Heading *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=heading,proto3" json:"heading,omitempty"` +} + +func (x *Location) Reset() { + *x = Location{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_location_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Location) ProtoMessage() {} + +func (x *Location) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_location_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Location.ProtoReflect.Descriptor instead. +func (*Location) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_location_proto_rawDescGZIP(), []int{0} +} + +func (x *Location) GetLatLng() *latlng.LatLng { + if x != nil { + return x.LatLng + } + return nil +} + +func (x *Location) GetHeading() *wrapperspb.Int32Value { + if x != nil { + return x.Heading + } + return nil +} + +var File_google_maps_routing_v2_location_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_location_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, + 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x08, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61, 0x74, + 0x4c, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0xc5, 0x01, 0x0a, 0x1a, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, + 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, + 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, + 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, + 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_location_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_location_proto_rawDescData = file_google_maps_routing_v2_location_proto_rawDesc +) + +func file_google_maps_routing_v2_location_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_location_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_location_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_location_proto_rawDescData) + }) + return file_google_maps_routing_v2_location_proto_rawDescData +} + +var file_google_maps_routing_v2_location_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_location_proto_goTypes = []interface{}{ + (*Location)(nil), // 0: google.maps.routing.v2.Location + (*latlng.LatLng)(nil), // 1: google.type.LatLng + (*wrapperspb.Int32Value)(nil), // 2: google.protobuf.Int32Value +} +var file_google_maps_routing_v2_location_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.Location.lat_lng:type_name -> google.type.LatLng + 2, // 1: google.maps.routing.v2.Location.heading:type_name -> google.protobuf.Int32Value + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_location_proto_init() } +func file_google_maps_routing_v2_location_proto_init() { + if File_google_maps_routing_v2_location_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_location_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_location_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_location_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_location_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_location_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_location_proto = out.File + file_google_maps_routing_v2_location_proto_rawDesc = nil + file_google_maps_routing_v2_location_proto_goTypes = nil + file_google_maps_routing_v2_location_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/maneuver.pb.go b/maps/routing/apiv2/routingpb/maneuver.pb.go new file mode 100644 index 00000000000..6938c1975d3 --- /dev/null +++ b/maps/routing/apiv2/routingpb/maneuver.pb.go @@ -0,0 +1,247 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/maneuver.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values that specify the navigation action to take for the current +// step (e.g., turn left, merge, straight, etc.). +type Maneuver int32 + +const ( + // Not used. + Maneuver_MANEUVER_UNSPECIFIED Maneuver = 0 + // Turn slightly to the left. + Maneuver_TURN_SLIGHT_LEFT Maneuver = 1 + // Turn sharply to the left. + Maneuver_TURN_SHARP_LEFT Maneuver = 2 + // Make a left u-turn. + Maneuver_UTURN_LEFT Maneuver = 3 + // Turn left. + Maneuver_TURN_LEFT Maneuver = 4 + // Turn slightly to the right. + Maneuver_TURN_SLIGHT_RIGHT Maneuver = 5 + // Turn sharply to the right. + Maneuver_TURN_SHARP_RIGHT Maneuver = 6 + // Make a right u-turn. + Maneuver_UTURN_RIGHT Maneuver = 7 + // Turn right. + Maneuver_TURN_RIGHT Maneuver = 8 + // Go straight. + Maneuver_STRAIGHT Maneuver = 9 + // Take the left ramp. + Maneuver_RAMP_LEFT Maneuver = 10 + // Take the right ramp. + Maneuver_RAMP_RIGHT Maneuver = 11 + // Merge into traffic. + Maneuver_MERGE Maneuver = 12 + // Take the left fork. + Maneuver_FORK_LEFT Maneuver = 13 + // Take the right fork. + Maneuver_FORK_RIGHT Maneuver = 14 + // Take the ferry. + Maneuver_FERRY Maneuver = 15 + // Take the train leading onto the ferry. + Maneuver_FERRY_TRAIN Maneuver = 16 + // Turn left at the roundabout. + Maneuver_ROUNDABOUT_LEFT Maneuver = 17 + // Turn right at the roundabout. + Maneuver_ROUNDABOUT_RIGHT Maneuver = 18 +) + +// Enum value maps for Maneuver. +var ( + Maneuver_name = map[int32]string{ + 0: "MANEUVER_UNSPECIFIED", + 1: "TURN_SLIGHT_LEFT", + 2: "TURN_SHARP_LEFT", + 3: "UTURN_LEFT", + 4: "TURN_LEFT", + 5: "TURN_SLIGHT_RIGHT", + 6: "TURN_SHARP_RIGHT", + 7: "UTURN_RIGHT", + 8: "TURN_RIGHT", + 9: "STRAIGHT", + 10: "RAMP_LEFT", + 11: "RAMP_RIGHT", + 12: "MERGE", + 13: "FORK_LEFT", + 14: "FORK_RIGHT", + 15: "FERRY", + 16: "FERRY_TRAIN", + 17: "ROUNDABOUT_LEFT", + 18: "ROUNDABOUT_RIGHT", + } + Maneuver_value = map[string]int32{ + "MANEUVER_UNSPECIFIED": 0, + "TURN_SLIGHT_LEFT": 1, + "TURN_SHARP_LEFT": 2, + "UTURN_LEFT": 3, + "TURN_LEFT": 4, + "TURN_SLIGHT_RIGHT": 5, + "TURN_SHARP_RIGHT": 6, + "UTURN_RIGHT": 7, + "TURN_RIGHT": 8, + "STRAIGHT": 9, + "RAMP_LEFT": 10, + "RAMP_RIGHT": 11, + "MERGE": 12, + "FORK_LEFT": 13, + "FORK_RIGHT": 14, + "FERRY": 15, + "FERRY_TRAIN": 16, + "ROUNDABOUT_LEFT": 17, + "ROUNDABOUT_RIGHT": 18, + } +) + +func (x Maneuver) Enum() *Maneuver { + p := new(Maneuver) + *p = x + return p +} + +func (x Maneuver) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Maneuver) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_maneuver_proto_enumTypes[0].Descriptor() +} + +func (Maneuver) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_maneuver_proto_enumTypes[0] +} + +func (x Maneuver) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Maneuver.Descriptor instead. +func (Maneuver) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_maneuver_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_maneuver_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_maneuver_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2a, + 0xda, 0x02, 0x0a, 0x08, 0x4d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x14, + 0x4d, 0x41, 0x4e, 0x45, 0x55, 0x56, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x53, + 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, + 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x50, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, + 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x04, + 0x12, 0x15, 0x0a, 0x11, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x53, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f, + 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x55, 0x52, 0x4e, 0x5f, + 0x53, 0x48, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x06, 0x12, 0x0f, 0x0a, + 0x0b, 0x55, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x07, 0x12, 0x0e, + 0x0a, 0x0a, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x08, 0x12, 0x0c, + 0x0a, 0x08, 0x53, 0x54, 0x52, 0x41, 0x49, 0x47, 0x48, 0x54, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, + 0x52, 0x41, 0x4d, 0x50, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x52, + 0x41, 0x4d, 0x50, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x4d, + 0x45, 0x52, 0x47, 0x45, 0x10, 0x0c, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x4c, + 0x45, 0x46, 0x54, 0x10, 0x0d, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x52, 0x49, + 0x47, 0x48, 0x54, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x45, 0x52, 0x52, 0x59, 0x10, 0x0f, + 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x45, 0x52, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x10, + 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x42, 0x4f, 0x55, 0x54, 0x5f, + 0x4c, 0x45, 0x46, 0x54, 0x10, 0x11, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x41, + 0x42, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x12, 0x42, 0xc5, 0x01, 0x0a, + 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, + 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x4d, 0x61, 0x6e, + 0x65, 0x75, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, + 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, + 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_maneuver_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_maneuver_proto_rawDescData = file_google_maps_routing_v2_maneuver_proto_rawDesc +) + +func file_google_maps_routing_v2_maneuver_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_maneuver_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_maneuver_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_maneuver_proto_rawDescData) + }) + return file_google_maps_routing_v2_maneuver_proto_rawDescData +} + +var file_google_maps_routing_v2_maneuver_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_maneuver_proto_goTypes = []interface{}{ + (Maneuver)(0), // 0: google.maps.routing.v2.Maneuver +} +var file_google_maps_routing_v2_maneuver_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_maneuver_proto_init() } +func file_google_maps_routing_v2_maneuver_proto_init() { + if File_google_maps_routing_v2_maneuver_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_maneuver_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_maneuver_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_maneuver_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_maneuver_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_maneuver_proto = out.File + file_google_maps_routing_v2_maneuver_proto_rawDesc = nil + file_google_maps_routing_v2_maneuver_proto_goTypes = nil + file_google_maps_routing_v2_maneuver_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/navigation_instruction.pb.go b/maps/routing/apiv2/routingpb/navigation_instruction.pb.go new file mode 100644 index 00000000000..2e96e82fb0d --- /dev/null +++ b/maps/routing/apiv2/routingpb/navigation_instruction.pb.go @@ -0,0 +1,196 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/navigation_instruction.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates navigation instructions for a +// [RouteLegStep][google.maps.routing.v2.RouteLegStep] +type NavigationInstruction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Encapsulates the navigation instructions for the current step (e.g., turn + // left, merge, straight, etc.). This field determines which icon to display. + Maneuver Maneuver `protobuf:"varint,1,opt,name=maneuver,proto3,enum=google.maps.routing.v2.Maneuver" json:"maneuver,omitempty"` + // Instructions for navigating this step. + Instructions string `protobuf:"bytes,2,opt,name=instructions,proto3" json:"instructions,omitempty"` +} + +func (x *NavigationInstruction) Reset() { + *x = NavigationInstruction{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_navigation_instruction_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NavigationInstruction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NavigationInstruction) ProtoMessage() {} + +func (x *NavigationInstruction) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_navigation_instruction_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NavigationInstruction.ProtoReflect.Descriptor instead. +func (*NavigationInstruction) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_navigation_instruction_proto_rawDescGZIP(), []int{0} +} + +func (x *NavigationInstruction) GetManeuver() Maneuver { + if x != nil { + return x.Maneuver + } + return Maneuver_MANEUVER_UNSPECIFIED +} + +func (x *NavigationInstruction) GetInstructions() string { + if x != nil { + return x.Instructions + } + return "" +} + +var File_google_maps_routing_v2_navigation_instruction_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_navigation_instruction_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x25, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x15, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, + 0x08, 0x6d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, + 0x72, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x69, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0xd2, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x1a, + 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, + 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, + 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_navigation_instruction_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_navigation_instruction_proto_rawDescData = file_google_maps_routing_v2_navigation_instruction_proto_rawDesc +) + +func file_google_maps_routing_v2_navigation_instruction_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_navigation_instruction_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_navigation_instruction_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_navigation_instruction_proto_rawDescData) + }) + return file_google_maps_routing_v2_navigation_instruction_proto_rawDescData +} + +var file_google_maps_routing_v2_navigation_instruction_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_navigation_instruction_proto_goTypes = []interface{}{ + (*NavigationInstruction)(nil), // 0: google.maps.routing.v2.NavigationInstruction + (Maneuver)(0), // 1: google.maps.routing.v2.Maneuver +} +var file_google_maps_routing_v2_navigation_instruction_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.NavigationInstruction.maneuver:type_name -> google.maps.routing.v2.Maneuver + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_navigation_instruction_proto_init() } +func file_google_maps_routing_v2_navigation_instruction_proto_init() { + if File_google_maps_routing_v2_navigation_instruction_proto != nil { + return + } + file_google_maps_routing_v2_maneuver_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_navigation_instruction_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NavigationInstruction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_navigation_instruction_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_navigation_instruction_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_navigation_instruction_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_navigation_instruction_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_navigation_instruction_proto = out.File + file_google_maps_routing_v2_navigation_instruction_proto_rawDesc = nil + file_google_maps_routing_v2_navigation_instruction_proto_goTypes = nil + file_google_maps_routing_v2_navigation_instruction_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/polyline.pb.go b/maps/routing/apiv2/routingpb/polyline.pb.go new file mode 100644 index 00000000000..9168c98d5c2 --- /dev/null +++ b/maps/routing/apiv2/routingpb/polyline.pb.go @@ -0,0 +1,356 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/polyline.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values that specify the quality of the polyline. +type PolylineQuality int32 + +const ( + // No polyline quality preference specified. Defaults to `OVERVIEW`. + PolylineQuality_POLYLINE_QUALITY_UNSPECIFIED PolylineQuality = 0 + // Specifies a high-quality polyline - which is composed using more points + // than `OVERVIEW`, at the cost of increased response size. Use this value + // when you need more precision. + PolylineQuality_HIGH_QUALITY PolylineQuality = 1 + // Specifies an overview polyline - which is composed using a small number of + // points. Use this value when displaying an overview of the route. Using this + // option has a lower request latency compared to using the + // `HIGH_QUALITY` option. + PolylineQuality_OVERVIEW PolylineQuality = 2 +) + +// Enum value maps for PolylineQuality. +var ( + PolylineQuality_name = map[int32]string{ + 0: "POLYLINE_QUALITY_UNSPECIFIED", + 1: "HIGH_QUALITY", + 2: "OVERVIEW", + } + PolylineQuality_value = map[string]int32{ + "POLYLINE_QUALITY_UNSPECIFIED": 0, + "HIGH_QUALITY": 1, + "OVERVIEW": 2, + } +) + +func (x PolylineQuality) Enum() *PolylineQuality { + p := new(PolylineQuality) + *p = x + return p +} + +func (x PolylineQuality) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PolylineQuality) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_polyline_proto_enumTypes[0].Descriptor() +} + +func (PolylineQuality) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_polyline_proto_enumTypes[0] +} + +func (x PolylineQuality) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PolylineQuality.Descriptor instead. +func (PolylineQuality) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_polyline_proto_rawDescGZIP(), []int{0} +} + +// Specifies the preferred type of polyline to be returned. +type PolylineEncoding int32 + +const ( + // No polyline type preference specified. Defaults to `ENCODED_POLYLINE`. + PolylineEncoding_POLYLINE_ENCODING_UNSPECIFIED PolylineEncoding = 0 + // Specifies a polyline encoded using the [polyline encoding + // algorithm](https://developers.google.com/maps/documentation/utilities/polylinealgorithm). + PolylineEncoding_ENCODED_POLYLINE PolylineEncoding = 1 + // Specifies a polyline using the [GeoJSON LineString + // format](https://tools.ietf.org/html/rfc7946#section-3.1.4) + PolylineEncoding_GEO_JSON_LINESTRING PolylineEncoding = 2 +) + +// Enum value maps for PolylineEncoding. +var ( + PolylineEncoding_name = map[int32]string{ + 0: "POLYLINE_ENCODING_UNSPECIFIED", + 1: "ENCODED_POLYLINE", + 2: "GEO_JSON_LINESTRING", + } + PolylineEncoding_value = map[string]int32{ + "POLYLINE_ENCODING_UNSPECIFIED": 0, + "ENCODED_POLYLINE": 1, + "GEO_JSON_LINESTRING": 2, + } +) + +func (x PolylineEncoding) Enum() *PolylineEncoding { + p := new(PolylineEncoding) + *p = x + return p +} + +func (x PolylineEncoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PolylineEncoding) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_polyline_proto_enumTypes[1].Descriptor() +} + +func (PolylineEncoding) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_polyline_proto_enumTypes[1] +} + +func (x PolylineEncoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PolylineEncoding.Descriptor instead. +func (PolylineEncoding) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_polyline_proto_rawDescGZIP(), []int{1} +} + +// Encapsulates an encoded polyline. +type Polyline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Encapsulates the type of polyline. Defaults to encoded_polyline. + // + // Types that are assignable to PolylineType: + // + // *Polyline_EncodedPolyline + // *Polyline_GeoJsonLinestring + PolylineType isPolyline_PolylineType `protobuf_oneof:"polyline_type"` +} + +func (x *Polyline) Reset() { + *x = Polyline{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_polyline_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Polyline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Polyline) ProtoMessage() {} + +func (x *Polyline) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_polyline_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Polyline.ProtoReflect.Descriptor instead. +func (*Polyline) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_polyline_proto_rawDescGZIP(), []int{0} +} + +func (m *Polyline) GetPolylineType() isPolyline_PolylineType { + if m != nil { + return m.PolylineType + } + return nil +} + +func (x *Polyline) GetEncodedPolyline() string { + if x, ok := x.GetPolylineType().(*Polyline_EncodedPolyline); ok { + return x.EncodedPolyline + } + return "" +} + +func (x *Polyline) GetGeoJsonLinestring() *structpb.Struct { + if x, ok := x.GetPolylineType().(*Polyline_GeoJsonLinestring); ok { + return x.GeoJsonLinestring + } + return nil +} + +type isPolyline_PolylineType interface { + isPolyline_PolylineType() +} + +type Polyline_EncodedPolyline struct { + // The string encoding of the polyline using the [polyline encoding + // algorithm](https://developers.google.com/maps/documentation/utilities/polylinealgorithm) + EncodedPolyline string `protobuf:"bytes,1,opt,name=encoded_polyline,json=encodedPolyline,proto3,oneof"` +} + +type Polyline_GeoJsonLinestring struct { + // Specifies a polyline using the [GeoJSON LineString + // format](https://tools.ietf.org/html/rfc7946#section-3.1.4) + GeoJsonLinestring *structpb.Struct `protobuf:"bytes,2,opt,name=geo_json_linestring,json=geoJsonLinestring,proto3,oneof"` +} + +func (*Polyline_EncodedPolyline) isPolyline_PolylineType() {} + +func (*Polyline_GeoJsonLinestring) isPolyline_PolylineType() {} + +var File_google_maps_routing_v2_polyline_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_polyline_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, + 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x10, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x50, + 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x67, 0x65, 0x6f, 0x5f, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, + 0x11, 0x67, 0x65, 0x6f, 0x4a, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x2a, 0x53, 0x0a, 0x0f, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x4c, 0x59, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x49, 0x47, 0x48, + 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, + 0x45, 0x52, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x2a, 0x64, 0x0a, 0x10, 0x50, 0x6f, 0x6c, 0x79, + 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x1d, + 0x50, 0x4f, 0x4c, 0x59, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, + 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x59, 0x4c, + 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x45, 0x4f, 0x5f, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x42, 0xc5, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x50, + 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, + 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, + 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_polyline_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_polyline_proto_rawDescData = file_google_maps_routing_v2_polyline_proto_rawDesc +) + +func file_google_maps_routing_v2_polyline_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_polyline_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_polyline_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_polyline_proto_rawDescData) + }) + return file_google_maps_routing_v2_polyline_proto_rawDescData +} + +var file_google_maps_routing_v2_polyline_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_maps_routing_v2_polyline_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_polyline_proto_goTypes = []interface{}{ + (PolylineQuality)(0), // 0: google.maps.routing.v2.PolylineQuality + (PolylineEncoding)(0), // 1: google.maps.routing.v2.PolylineEncoding + (*Polyline)(nil), // 2: google.maps.routing.v2.Polyline + (*structpb.Struct)(nil), // 3: google.protobuf.Struct +} +var file_google_maps_routing_v2_polyline_proto_depIdxs = []int32{ + 3, // 0: google.maps.routing.v2.Polyline.geo_json_linestring:type_name -> google.protobuf.Struct + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_polyline_proto_init() } +func file_google_maps_routing_v2_polyline_proto_init() { + if File_google_maps_routing_v2_polyline_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_polyline_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Polyline); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_maps_routing_v2_polyline_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Polyline_EncodedPolyline)(nil), + (*Polyline_GeoJsonLinestring)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_polyline_proto_rawDesc, + NumEnums: 2, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_polyline_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_polyline_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_polyline_proto_enumTypes, + MessageInfos: file_google_maps_routing_v2_polyline_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_polyline_proto = out.File + file_google_maps_routing_v2_polyline_proto_rawDesc = nil + file_google_maps_routing_v2_polyline_proto_goTypes = nil + file_google_maps_routing_v2_polyline_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/route.pb.go b/maps/routing/apiv2/routingpb/route.pb.go new file mode 100644 index 00000000000..1c07168a0f3 --- /dev/null +++ b/maps/routing/apiv2/routingpb/route.pb.go @@ -0,0 +1,988 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/route.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + viewport "google.golang.org/genproto/googleapis/geo/type/viewport" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates a route, which consists of a series of connected road segments +// that join beginning, ending, and intermediate waypoints. +type Route struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Labels for the `Route` that are useful to identify specific properties + // of the route to compare against others. + RouteLabels []RouteLabel `protobuf:"varint,13,rep,packed,name=route_labels,json=routeLabels,proto3,enum=google.maps.routing.v2.RouteLabel" json:"route_labels,omitempty"` + // A collection of legs (path segments between waypoints) that make-up the + // route. Each leg corresponds to the trip between two non-`via` Waypoints. + // For example, a route with no intermediate waypoints has only one leg. A + // route that includes one non-`via` intermediate waypoint has two legs. A + // route that includes one `via` intermediate waypoint has one leg. The order + // of the legs matches the order of Waypoints from `origin` to `intermediates` + // to `destination`. + Legs []*RouteLeg `protobuf:"bytes,1,rep,name=legs,proto3" json:"legs,omitempty"` + // The travel distance of the route, in meters. + DistanceMeters int32 `protobuf:"varint,2,opt,name=distance_meters,json=distanceMeters,proto3" json:"distance_meters,omitempty"` + // The length of time needed to navigate the route. If you set the + // `routing_preference` to `TRAFFIC_UNAWARE`, then this value is the same as + // `static_duration`. If you set the `routing_preference` to either + // `TRAFFIC_AWARE` or `TRAFFIC_AWARE_OPTIMAL`, then this value is calculated + // taking traffic conditions into account. + Duration *durationpb.Duration `protobuf:"bytes,3,opt,name=duration,proto3" json:"duration,omitempty"` + // The duration of traveling through the route without taking traffic + // conditions into consideration. + StaticDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=static_duration,json=staticDuration,proto3" json:"static_duration,omitempty"` + // The overall route polyline. This polyline will be the combined polyline of + // all `legs`. + Polyline *Polyline `protobuf:"bytes,5,opt,name=polyline,proto3" json:"polyline,omitempty"` + // A description of the route. + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + // An array of warnings to show when displaying the route. + Warnings []string `protobuf:"bytes,7,rep,name=warnings,proto3" json:"warnings,omitempty"` + // The viewport bounding box of the polyline. + Viewport *viewport.Viewport `protobuf:"bytes,8,opt,name=viewport,proto3" json:"viewport,omitempty"` + // Additional information about the route. + TravelAdvisory *RouteTravelAdvisory `protobuf:"bytes,9,opt,name=travel_advisory,json=travelAdvisory,proto3" json:"travel_advisory,omitempty"` + // Web-safe base64 encoded route token that can be passed to NavigationSDK, + // which allows the Navigation SDK to reconstruct the route during navigation, + // and in the event of rerouting honor the original intention when Routes + // ComputeRoutes is called. Customers should treat this token as an + // opaque blob. + RouteToken string `protobuf:"bytes,12,opt,name=route_token,json=routeToken,proto3" json:"route_token,omitempty"` +} + +func (x *Route) Reset() { + *x = Route{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Route) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Route) ProtoMessage() {} + +func (x *Route) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Route.ProtoReflect.Descriptor instead. +func (*Route) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{0} +} + +func (x *Route) GetRouteLabels() []RouteLabel { + if x != nil { + return x.RouteLabels + } + return nil +} + +func (x *Route) GetLegs() []*RouteLeg { + if x != nil { + return x.Legs + } + return nil +} + +func (x *Route) GetDistanceMeters() int32 { + if x != nil { + return x.DistanceMeters + } + return 0 +} + +func (x *Route) GetDuration() *durationpb.Duration { + if x != nil { + return x.Duration + } + return nil +} + +func (x *Route) GetStaticDuration() *durationpb.Duration { + if x != nil { + return x.StaticDuration + } + return nil +} + +func (x *Route) GetPolyline() *Polyline { + if x != nil { + return x.Polyline + } + return nil +} + +func (x *Route) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Route) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +func (x *Route) GetViewport() *viewport.Viewport { + if x != nil { + return x.Viewport + } + return nil +} + +func (x *Route) GetTravelAdvisory() *RouteTravelAdvisory { + if x != nil { + return x.TravelAdvisory + } + return nil +} + +func (x *Route) GetRouteToken() string { + if x != nil { + return x.RouteToken + } + return "" +} + +// Encapsulates the additional information that the user should be informed +// about, such as possible traffic zone restriction etc. +type RouteTravelAdvisory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Encapsulates information about tolls on the Route. + // This field is only populated if we expect there are tolls on the Route. + // If this field is set but the estimated_price subfield is not populated, + // we expect that road contains tolls but we do not know an estimated price. + // If this field is not set, then we expect there is no toll on the Route. + TollInfo *TollInfo `protobuf:"bytes,2,opt,name=toll_info,json=tollInfo,proto3" json:"toll_info,omitempty"` + // Speed reading intervals detailing traffic density. Applicable in case of + // `TRAFFIC_AWARE` and `TRAFFIC_AWARE_OPTIMAL` routing preferences. + // The intervals cover the entire polyline of the route without overlap. + // The start point of a specified interval is the same as the end point of the + // preceding interval. + // + // Example: + // + // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G + // speed_reading_intervals: [A,C), [C,D), [D,G). + SpeedReadingIntervals []*SpeedReadingInterval `protobuf:"bytes,3,rep,name=speed_reading_intervals,json=speedReadingIntervals,proto3" json:"speed_reading_intervals,omitempty"` + // The fuel consumption prediction in microliters. + FuelConsumptionMicroliters int64 `protobuf:"varint,5,opt,name=fuel_consumption_microliters,json=fuelConsumptionMicroliters,proto3" json:"fuel_consumption_microliters,omitempty"` +} + +func (x *RouteTravelAdvisory) Reset() { + *x = RouteTravelAdvisory{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTravelAdvisory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTravelAdvisory) ProtoMessage() {} + +func (x *RouteTravelAdvisory) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTravelAdvisory.ProtoReflect.Descriptor instead. +func (*RouteTravelAdvisory) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{1} +} + +func (x *RouteTravelAdvisory) GetTollInfo() *TollInfo { + if x != nil { + return x.TollInfo + } + return nil +} + +func (x *RouteTravelAdvisory) GetSpeedReadingIntervals() []*SpeedReadingInterval { + if x != nil { + return x.SpeedReadingIntervals + } + return nil +} + +func (x *RouteTravelAdvisory) GetFuelConsumptionMicroliters() int64 { + if x != nil { + return x.FuelConsumptionMicroliters + } + return 0 +} + +// Encapsulates the additional information that the user should be informed +// about, such as possible traffic zone restriction etc. on a route leg. +type RouteLegTravelAdvisory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Encapsulates information about tolls on the specific RouteLeg. + // This field is only populated if we expect there are tolls on the RouteLeg. + // If this field is set but the estimated_price subfield is not populated, + // we expect that road contains tolls but we do not know an estimated price. + // If this field does not exist, then there is no toll on the RouteLeg. + TollInfo *TollInfo `protobuf:"bytes,1,opt,name=toll_info,json=tollInfo,proto3" json:"toll_info,omitempty"` + // Speed reading intervals detailing traffic density. Applicable in case of + // `TRAFFIC_AWARE` and `TRAFFIC_AWARE_OPTIMAL` routing preferences. + // The intervals cover the entire polyline of the RouteLg without overlap. + // The start point of a specified interval is the same as the end point of the + // preceding interval. + // + // Example: + // + // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G + // speed_reading_intervals: [A,C), [C,D), [D,G). + SpeedReadingIntervals []*SpeedReadingInterval `protobuf:"bytes,2,rep,name=speed_reading_intervals,json=speedReadingIntervals,proto3" json:"speed_reading_intervals,omitempty"` +} + +func (x *RouteLegTravelAdvisory) Reset() { + *x = RouteLegTravelAdvisory{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteLegTravelAdvisory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteLegTravelAdvisory) ProtoMessage() {} + +func (x *RouteLegTravelAdvisory) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteLegTravelAdvisory.ProtoReflect.Descriptor instead. +func (*RouteLegTravelAdvisory) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{2} +} + +func (x *RouteLegTravelAdvisory) GetTollInfo() *TollInfo { + if x != nil { + return x.TollInfo + } + return nil +} + +func (x *RouteLegTravelAdvisory) GetSpeedReadingIntervals() []*SpeedReadingInterval { + if x != nil { + return x.SpeedReadingIntervals + } + return nil +} + +// Encapsulates the additional information that the user should be informed +// about, such as possible traffic zone restriction on a leg step. +type RouteLegStepTravelAdvisory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Speed reading intervals detailing traffic density. Applicable in case of + // `TRAFFIC_AWARE` and `TRAFFIC_AWARE_OPTIMAL` routing preferences. + // The intervals cover the entire polyline of the RouteLegStep without + // overlap. The start point of a specified interval is the same as the end + // point of the preceding interval. + // + // Example: + // + // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G + // speed_reading_intervals: [A,C), [C,D), [D,G). + SpeedReadingIntervals []*SpeedReadingInterval `protobuf:"bytes,1,rep,name=speed_reading_intervals,json=speedReadingIntervals,proto3" json:"speed_reading_intervals,omitempty"` +} + +func (x *RouteLegStepTravelAdvisory) Reset() { + *x = RouteLegStepTravelAdvisory{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteLegStepTravelAdvisory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteLegStepTravelAdvisory) ProtoMessage() {} + +func (x *RouteLegStepTravelAdvisory) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteLegStepTravelAdvisory.ProtoReflect.Descriptor instead. +func (*RouteLegStepTravelAdvisory) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{3} +} + +func (x *RouteLegStepTravelAdvisory) GetSpeedReadingIntervals() []*SpeedReadingInterval { + if x != nil { + return x.SpeedReadingIntervals + } + return nil +} + +// Encapsulates a segment between non-`via` waypoints. +type RouteLeg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The travel distance of the route leg, in meters. + DistanceMeters int32 `protobuf:"varint,1,opt,name=distance_meters,json=distanceMeters,proto3" json:"distance_meters,omitempty"` + // The length of time needed to navigate the leg. If the `route_preference` + // is set to `TRAFFIC_UNAWARE`, then this value is the same as + // `static_duration`. If the `route_preference` is either `TRAFFIC_AWARE` or + // `TRAFFIC_AWARE_OPTIMAL`, then this value is calculated taking traffic + // conditions into account. + Duration *durationpb.Duration `protobuf:"bytes,2,opt,name=duration,proto3" json:"duration,omitempty"` + // The duration of traveling through the leg, calculated without taking + // traffic conditions into consideration. + StaticDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=static_duration,json=staticDuration,proto3" json:"static_duration,omitempty"` + // The overall polyline for this leg. This includes that each `step`'s + // polyline. + Polyline *Polyline `protobuf:"bytes,4,opt,name=polyline,proto3" json:"polyline,omitempty"` + // The start location of this leg. This might be different from the provided + // `origin`. For example, when the provided `origin` is not near a road, this + // is a point on the road. + StartLocation *Location `protobuf:"bytes,5,opt,name=start_location,json=startLocation,proto3" json:"start_location,omitempty"` + // The end location of this leg. This might be different from the provided + // `destination`. For example, when the provided `destination` is not near a + // road, this is a point on the road. + EndLocation *Location `protobuf:"bytes,6,opt,name=end_location,json=endLocation,proto3" json:"end_location,omitempty"` + // An array of steps denoting segments within this leg. Each step represents + // one navigation instruction. + Steps []*RouteLegStep `protobuf:"bytes,7,rep,name=steps,proto3" json:"steps,omitempty"` + // Encapsulates the additional information that the user should be informed + // about, such as possible traffic zone restriction etc. on a route leg. + TravelAdvisory *RouteLegTravelAdvisory `protobuf:"bytes,8,opt,name=travel_advisory,json=travelAdvisory,proto3" json:"travel_advisory,omitempty"` +} + +func (x *RouteLeg) Reset() { + *x = RouteLeg{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteLeg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteLeg) ProtoMessage() {} + +func (x *RouteLeg) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteLeg.ProtoReflect.Descriptor instead. +func (*RouteLeg) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{4} +} + +func (x *RouteLeg) GetDistanceMeters() int32 { + if x != nil { + return x.DistanceMeters + } + return 0 +} + +func (x *RouteLeg) GetDuration() *durationpb.Duration { + if x != nil { + return x.Duration + } + return nil +} + +func (x *RouteLeg) GetStaticDuration() *durationpb.Duration { + if x != nil { + return x.StaticDuration + } + return nil +} + +func (x *RouteLeg) GetPolyline() *Polyline { + if x != nil { + return x.Polyline + } + return nil +} + +func (x *RouteLeg) GetStartLocation() *Location { + if x != nil { + return x.StartLocation + } + return nil +} + +func (x *RouteLeg) GetEndLocation() *Location { + if x != nil { + return x.EndLocation + } + return nil +} + +func (x *RouteLeg) GetSteps() []*RouteLegStep { + if x != nil { + return x.Steps + } + return nil +} + +func (x *RouteLeg) GetTravelAdvisory() *RouteLegTravelAdvisory { + if x != nil { + return x.TravelAdvisory + } + return nil +} + +// Encapsulates a segment of a `RouteLeg`. A step corresponds to a single +// navigation instruction. Route legs are made up of steps. +type RouteLegStep struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The travel distance of this step, in meters. In some circumstances, this + // field might not have a value. + DistanceMeters int32 `protobuf:"varint,1,opt,name=distance_meters,json=distanceMeters,proto3" json:"distance_meters,omitempty"` + // The duration of travel through this step without taking traffic conditions + // into consideration. In some circumstances, this field might not have a + // value. + StaticDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=static_duration,json=staticDuration,proto3" json:"static_duration,omitempty"` + // The polyline associated with this step. + Polyline *Polyline `protobuf:"bytes,3,opt,name=polyline,proto3" json:"polyline,omitempty"` + // The start location of this step. + StartLocation *Location `protobuf:"bytes,4,opt,name=start_location,json=startLocation,proto3" json:"start_location,omitempty"` + // The end location of this step. + EndLocation *Location `protobuf:"bytes,5,opt,name=end_location,json=endLocation,proto3" json:"end_location,omitempty"` + // Navigation instructions. + NavigationInstruction *NavigationInstruction `protobuf:"bytes,6,opt,name=navigation_instruction,json=navigationInstruction,proto3" json:"navigation_instruction,omitempty"` + // Encapsulates the additional information that the user should be informed + // about, such as possible traffic zone restriction on a leg step. + TravelAdvisory *RouteLegStepTravelAdvisory `protobuf:"bytes,7,opt,name=travel_advisory,json=travelAdvisory,proto3" json:"travel_advisory,omitempty"` +} + +func (x *RouteLegStep) Reset() { + *x = RouteLegStep{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteLegStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteLegStep) ProtoMessage() {} + +func (x *RouteLegStep) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteLegStep.ProtoReflect.Descriptor instead. +func (*RouteLegStep) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_proto_rawDescGZIP(), []int{5} +} + +func (x *RouteLegStep) GetDistanceMeters() int32 { + if x != nil { + return x.DistanceMeters + } + return 0 +} + +func (x *RouteLegStep) GetStaticDuration() *durationpb.Duration { + if x != nil { + return x.StaticDuration + } + return nil +} + +func (x *RouteLegStep) GetPolyline() *Polyline { + if x != nil { + return x.Polyline + } + return nil +} + +func (x *RouteLegStep) GetStartLocation() *Location { + if x != nil { + return x.StartLocation + } + return nil +} + +func (x *RouteLegStep) GetEndLocation() *Location { + if x != nil { + return x.EndLocation + } + return nil +} + +func (x *RouteLegStep) GetNavigationInstruction() *NavigationInstruction { + if x != nil { + return x.NavigationInstruction + } + return nil +} + +func (x *RouteLegStep) GetTravelAdvisory() *RouteLegStepTravelAdvisory { + if x != nil { + return x.TravelAdvisory + } + return nil +} + +var File_google_maps_routing_v2_route_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_route_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x69, + 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, + 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6e, 0x61, 0x76, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, + 0x2f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x04, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x6c, 0x65, 0x67, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x52, 0x04, 0x6c, 0x65, 0x67, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, + 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, + 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, + 0x08, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6f, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x54, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x61, + 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x76, + 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x76, + 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x13, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, + 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x74, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x64, 0x0a, 0x17, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x52, 0x15, 0x73, 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x66, 0x75, 0x65, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x63, + 0x72, 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, + 0x66, 0x75, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x69, 0x63, 0x72, 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x16, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, + 0x69, 0x73, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x32, 0x2e, 0x54, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x74, 0x6f, 0x6c, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x64, 0x0a, 0x17, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x52, 0x15, 0x73, 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x53, 0x74, 0x65, 0x70, 0x54, 0x72, 0x61, 0x76, 0x65, + 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x17, 0x73, 0x70, 0x65, + 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x15, 0x73, 0x70, 0x65, 0x65, 0x64, 0x52, + 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x22, + 0x8f, 0x04, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x12, 0x27, 0x0a, 0x0f, + 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, + 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x79, + 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x47, + 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x05, + 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x53, 0x74, 0x65, + 0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, + 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x4c, 0x65, 0x67, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, + 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, + 0x79, 0x22, 0x8a, 0x04, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x53, 0x74, + 0x65, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x6c, + 0x69, 0x6e, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x47, 0x0a, + 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x16, 0x6e, + 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6e, 0x61, 0x76, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x5b, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x76, 0x69, + 0x73, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x67, 0x53, 0x74, 0x65, 0x70, + 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x52, 0x0e, + 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x42, 0xc2, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, + 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, + 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_route_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_route_proto_rawDescData = file_google_maps_routing_v2_route_proto_rawDesc +) + +func file_google_maps_routing_v2_route_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_route_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_route_proto_rawDescData) + }) + return file_google_maps_routing_v2_route_proto_rawDescData +} + +var file_google_maps_routing_v2_route_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_maps_routing_v2_route_proto_goTypes = []interface{}{ + (*Route)(nil), // 0: google.maps.routing.v2.Route + (*RouteTravelAdvisory)(nil), // 1: google.maps.routing.v2.RouteTravelAdvisory + (*RouteLegTravelAdvisory)(nil), // 2: google.maps.routing.v2.RouteLegTravelAdvisory + (*RouteLegStepTravelAdvisory)(nil), // 3: google.maps.routing.v2.RouteLegStepTravelAdvisory + (*RouteLeg)(nil), // 4: google.maps.routing.v2.RouteLeg + (*RouteLegStep)(nil), // 5: google.maps.routing.v2.RouteLegStep + (RouteLabel)(0), // 6: google.maps.routing.v2.RouteLabel + (*durationpb.Duration)(nil), // 7: google.protobuf.Duration + (*Polyline)(nil), // 8: google.maps.routing.v2.Polyline + (*viewport.Viewport)(nil), // 9: google.geo.type.Viewport + (*TollInfo)(nil), // 10: google.maps.routing.v2.TollInfo + (*SpeedReadingInterval)(nil), // 11: google.maps.routing.v2.SpeedReadingInterval + (*Location)(nil), // 12: google.maps.routing.v2.Location + (*NavigationInstruction)(nil), // 13: google.maps.routing.v2.NavigationInstruction +} +var file_google_maps_routing_v2_route_proto_depIdxs = []int32{ + 6, // 0: google.maps.routing.v2.Route.route_labels:type_name -> google.maps.routing.v2.RouteLabel + 4, // 1: google.maps.routing.v2.Route.legs:type_name -> google.maps.routing.v2.RouteLeg + 7, // 2: google.maps.routing.v2.Route.duration:type_name -> google.protobuf.Duration + 7, // 3: google.maps.routing.v2.Route.static_duration:type_name -> google.protobuf.Duration + 8, // 4: google.maps.routing.v2.Route.polyline:type_name -> google.maps.routing.v2.Polyline + 9, // 5: google.maps.routing.v2.Route.viewport:type_name -> google.geo.type.Viewport + 1, // 6: google.maps.routing.v2.Route.travel_advisory:type_name -> google.maps.routing.v2.RouteTravelAdvisory + 10, // 7: google.maps.routing.v2.RouteTravelAdvisory.toll_info:type_name -> google.maps.routing.v2.TollInfo + 11, // 8: google.maps.routing.v2.RouteTravelAdvisory.speed_reading_intervals:type_name -> google.maps.routing.v2.SpeedReadingInterval + 10, // 9: google.maps.routing.v2.RouteLegTravelAdvisory.toll_info:type_name -> google.maps.routing.v2.TollInfo + 11, // 10: google.maps.routing.v2.RouteLegTravelAdvisory.speed_reading_intervals:type_name -> google.maps.routing.v2.SpeedReadingInterval + 11, // 11: google.maps.routing.v2.RouteLegStepTravelAdvisory.speed_reading_intervals:type_name -> google.maps.routing.v2.SpeedReadingInterval + 7, // 12: google.maps.routing.v2.RouteLeg.duration:type_name -> google.protobuf.Duration + 7, // 13: google.maps.routing.v2.RouteLeg.static_duration:type_name -> google.protobuf.Duration + 8, // 14: google.maps.routing.v2.RouteLeg.polyline:type_name -> google.maps.routing.v2.Polyline + 12, // 15: google.maps.routing.v2.RouteLeg.start_location:type_name -> google.maps.routing.v2.Location + 12, // 16: google.maps.routing.v2.RouteLeg.end_location:type_name -> google.maps.routing.v2.Location + 5, // 17: google.maps.routing.v2.RouteLeg.steps:type_name -> google.maps.routing.v2.RouteLegStep + 2, // 18: google.maps.routing.v2.RouteLeg.travel_advisory:type_name -> google.maps.routing.v2.RouteLegTravelAdvisory + 7, // 19: google.maps.routing.v2.RouteLegStep.static_duration:type_name -> google.protobuf.Duration + 8, // 20: google.maps.routing.v2.RouteLegStep.polyline:type_name -> google.maps.routing.v2.Polyline + 12, // 21: google.maps.routing.v2.RouteLegStep.start_location:type_name -> google.maps.routing.v2.Location + 12, // 22: google.maps.routing.v2.RouteLegStep.end_location:type_name -> google.maps.routing.v2.Location + 13, // 23: google.maps.routing.v2.RouteLegStep.navigation_instruction:type_name -> google.maps.routing.v2.NavigationInstruction + 3, // 24: google.maps.routing.v2.RouteLegStep.travel_advisory:type_name -> google.maps.routing.v2.RouteLegStepTravelAdvisory + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_route_proto_init() } +func file_google_maps_routing_v2_route_proto_init() { + if File_google_maps_routing_v2_route_proto != nil { + return + } + file_google_maps_routing_v2_location_proto_init() + file_google_maps_routing_v2_navigation_instruction_proto_init() + file_google_maps_routing_v2_polyline_proto_init() + file_google_maps_routing_v2_route_label_proto_init() + file_google_maps_routing_v2_speed_reading_interval_proto_init() + file_google_maps_routing_v2_toll_info_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Route); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTravelAdvisory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteLegTravelAdvisory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteLegStepTravelAdvisory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteLeg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteLegStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_route_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_route_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_route_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_route_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_route_proto = out.File + file_google_maps_routing_v2_route_proto_rawDesc = nil + file_google_maps_routing_v2_route_proto_goTypes = nil + file_google_maps_routing_v2_route_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/route_label.pb.go b/maps/routing/apiv2/routingpb/route_label.pb.go new file mode 100644 index 00000000000..64201c9d907 --- /dev/null +++ b/maps/routing/apiv2/routingpb/route_label.pb.go @@ -0,0 +1,176 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/route_label.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Labels for the `Route` that are useful to identify specific properties +// of the route to compare against others. +type RouteLabel int32 + +const ( + // Default - not used. + RouteLabel_ROUTE_LABEL_UNSPECIFIED RouteLabel = 0 + // The default "best" route returned for the route computation. + RouteLabel_DEFAULT_ROUTE RouteLabel = 1 + // An alternative to the default "best" route. Routes like this will be + // returned when `ComputeRoutesRequest.compute_alternative_routes` is + // specified. + RouteLabel_DEFAULT_ROUTE_ALTERNATE RouteLabel = 2 + // Fuel efficient route. Routes labeled with this value are determined to be + // optimized for Eco parameters such as fuel consumption. + RouteLabel_FUEL_EFFICIENT RouteLabel = 3 +) + +// Enum value maps for RouteLabel. +var ( + RouteLabel_name = map[int32]string{ + 0: "ROUTE_LABEL_UNSPECIFIED", + 1: "DEFAULT_ROUTE", + 2: "DEFAULT_ROUTE_ALTERNATE", + 3: "FUEL_EFFICIENT", + } + RouteLabel_value = map[string]int32{ + "ROUTE_LABEL_UNSPECIFIED": 0, + "DEFAULT_ROUTE": 1, + "DEFAULT_ROUTE_ALTERNATE": 2, + "FUEL_EFFICIENT": 3, + } +) + +func (x RouteLabel) Enum() *RouteLabel { + p := new(RouteLabel) + *p = x + return p +} + +func (x RouteLabel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouteLabel) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_route_label_proto_enumTypes[0].Descriptor() +} + +func (RouteLabel) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_route_label_proto_enumTypes[0] +} + +func (x RouteLabel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteLabel.Descriptor instead. +func (RouteLabel) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_label_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_route_label_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_route_label_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x2a, 0x6d, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, + 0x45, 0x5f, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, + 0x0e, 0x46, 0x55, 0x45, 0x4c, 0x5f, 0x45, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x10, + 0x03, 0x42, 0xc7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x42, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, + 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_route_label_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_route_label_proto_rawDescData = file_google_maps_routing_v2_route_label_proto_rawDesc +) + +func file_google_maps_routing_v2_route_label_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_route_label_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_route_label_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_route_label_proto_rawDescData) + }) + return file_google_maps_routing_v2_route_label_proto_rawDescData +} + +var file_google_maps_routing_v2_route_label_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_route_label_proto_goTypes = []interface{}{ + (RouteLabel)(0), // 0: google.maps.routing.v2.RouteLabel +} +var file_google_maps_routing_v2_route_label_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_route_label_proto_init() } +func file_google_maps_routing_v2_route_label_proto_init() { + if File_google_maps_routing_v2_route_label_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_route_label_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_route_label_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_route_label_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_route_label_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_route_label_proto = out.File + file_google_maps_routing_v2_route_label_proto_rawDesc = nil + file_google_maps_routing_v2_route_label_proto_goTypes = nil + file_google_maps_routing_v2_route_label_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/route_modifiers.pb.go b/maps/routing/apiv2/routingpb/route_modifiers.pb.go new file mode 100644 index 00000000000..2ee48b7d4c4 --- /dev/null +++ b/maps/routing/apiv2/routingpb/route_modifiers.pb.go @@ -0,0 +1,259 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/route_modifiers.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates a set of optional conditions to satisfy when calculating the +// routes. +type RouteModifiers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies whether to avoid toll roads where reasonable. Preference will be + // given to routes not containing toll roads. Applies only to the `DRIVE` and + // `TWO_WHEELER` travel modes. + AvoidTolls bool `protobuf:"varint,1,opt,name=avoid_tolls,json=avoidTolls,proto3" json:"avoid_tolls,omitempty"` + // Specifies whether to avoid highways where reasonable. Preference will be + // given to routes not containing highways. Applies only to the `DRIVE` and + // `TWO_WHEELER` travel modes. + AvoidHighways bool `protobuf:"varint,2,opt,name=avoid_highways,json=avoidHighways,proto3" json:"avoid_highways,omitempty"` + // Specifies whether to avoid ferries where reasonable. Preference will be + // given to routes not containing travel by ferries. + // Applies only to the `DRIVE` and`TWO_WHEELER` travel modes. + AvoidFerries bool `protobuf:"varint,3,opt,name=avoid_ferries,json=avoidFerries,proto3" json:"avoid_ferries,omitempty"` + // Specifies whether to avoid navigating indoors where reasonable. Preference + // will be given to routes not containing indoor navigation. + // Applies only to the `WALK` travel mode. + AvoidIndoor bool `protobuf:"varint,4,opt,name=avoid_indoor,json=avoidIndoor,proto3" json:"avoid_indoor,omitempty"` + // Specifies the vehicle information. + VehicleInfo *VehicleInfo `protobuf:"bytes,5,opt,name=vehicle_info,json=vehicleInfo,proto3" json:"vehicle_info,omitempty"` + // Encapsulates information about toll passes. + // If toll passes are provided, the API tries to return the pass price. If + // toll passes are not provided, the API treats the toll pass as unknown and + // tries to return the cash price. + // Applies only to the DRIVE and TWO_WHEELER travel modes. + TollPasses []TollPass `protobuf:"varint,6,rep,packed,name=toll_passes,json=tollPasses,proto3,enum=google.maps.routing.v2.TollPass" json:"toll_passes,omitempty"` +} + +func (x *RouteModifiers) Reset() { + *x = RouteModifiers{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_route_modifiers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteModifiers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteModifiers) ProtoMessage() {} + +func (x *RouteModifiers) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_route_modifiers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteModifiers.ProtoReflect.Descriptor instead. +func (*RouteModifiers) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_modifiers_proto_rawDescGZIP(), []int{0} +} + +func (x *RouteModifiers) GetAvoidTolls() bool { + if x != nil { + return x.AvoidTolls + } + return false +} + +func (x *RouteModifiers) GetAvoidHighways() bool { + if x != nil { + return x.AvoidHighways + } + return false +} + +func (x *RouteModifiers) GetAvoidFerries() bool { + if x != nil { + return x.AvoidFerries + } + return false +} + +func (x *RouteModifiers) GetAvoidIndoor() bool { + if x != nil { + return x.AvoidIndoor + } + return false +} + +func (x *RouteModifiers) GetVehicleInfo() *VehicleInfo { + if x != nil { + return x.VehicleInfo + } + return nil +} + +func (x *RouteModifiers) GetTollPasses() []TollPass { + if x != nil { + return x.TollPasses + } + return nil +} + +var File_google_maps_routing_v2_route_modifiers_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_route_modifiers_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, + 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x74, + 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x02, 0x0a, 0x0e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x54, 0x6f, 0x6c, 0x6c, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x48, 0x69, + 0x67, 0x68, 0x77, 0x61, 0x79, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, + 0x66, 0x65, 0x72, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, + 0x76, 0x6f, 0x69, 0x64, 0x46, 0x65, 0x72, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x6f, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x46, + 0x0a, 0x0c, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, + 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x76, 0x65, 0x68, 0x69, 0x63, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6f, 0x6c, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x52, 0x0a, 0x74, + 0x6f, 0x6c, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0xcb, 0x01, 0x0a, 0x1a, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x13, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, + 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, + 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_route_modifiers_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_route_modifiers_proto_rawDescData = file_google_maps_routing_v2_route_modifiers_proto_rawDesc +) + +func file_google_maps_routing_v2_route_modifiers_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_route_modifiers_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_route_modifiers_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_route_modifiers_proto_rawDescData) + }) + return file_google_maps_routing_v2_route_modifiers_proto_rawDescData +} + +var file_google_maps_routing_v2_route_modifiers_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_route_modifiers_proto_goTypes = []interface{}{ + (*RouteModifiers)(nil), // 0: google.maps.routing.v2.RouteModifiers + (*VehicleInfo)(nil), // 1: google.maps.routing.v2.VehicleInfo + (TollPass)(0), // 2: google.maps.routing.v2.TollPass +} +var file_google_maps_routing_v2_route_modifiers_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.RouteModifiers.vehicle_info:type_name -> google.maps.routing.v2.VehicleInfo + 2, // 1: google.maps.routing.v2.RouteModifiers.toll_passes:type_name -> google.maps.routing.v2.TollPass + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_route_modifiers_proto_init() } +func file_google_maps_routing_v2_route_modifiers_proto_init() { + if File_google_maps_routing_v2_route_modifiers_proto != nil { + return + } + file_google_maps_routing_v2_toll_passes_proto_init() + file_google_maps_routing_v2_vehicle_info_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_route_modifiers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteModifiers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_route_modifiers_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_route_modifiers_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_route_modifiers_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_route_modifiers_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_route_modifiers_proto = out.File + file_google_maps_routing_v2_route_modifiers_proto_rawDesc = nil + file_google_maps_routing_v2_route_modifiers_proto_goTypes = nil + file_google_maps_routing_v2_route_modifiers_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/route_travel_mode.pb.go b/maps/routing/apiv2/routingpb/route_travel_mode.pb.go new file mode 100644 index 00000000000..4ca48530419 --- /dev/null +++ b/maps/routing/apiv2/routingpb/route_travel_mode.pb.go @@ -0,0 +1,177 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/route_travel_mode.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values used to specify the mode of travel. +type RouteTravelMode int32 + +const ( + // No travel mode specified. Defaults to `DRIVE`. + RouteTravelMode_TRAVEL_MODE_UNSPECIFIED RouteTravelMode = 0 + // Travel by passenger car. + RouteTravelMode_DRIVE RouteTravelMode = 1 + // Travel by bicycle. + RouteTravelMode_BICYCLE RouteTravelMode = 2 + // Travel by walking. + RouteTravelMode_WALK RouteTravelMode = 3 + // Two-wheeled, motorized vehicle. For example, motorcycle. Note that this + // differs from the `BICYCLE` travel mode which covers human-powered mode. + RouteTravelMode_TWO_WHEELER RouteTravelMode = 4 +) + +// Enum value maps for RouteTravelMode. +var ( + RouteTravelMode_name = map[int32]string{ + 0: "TRAVEL_MODE_UNSPECIFIED", + 1: "DRIVE", + 2: "BICYCLE", + 3: "WALK", + 4: "TWO_WHEELER", + } + RouteTravelMode_value = map[string]int32{ + "TRAVEL_MODE_UNSPECIFIED": 0, + "DRIVE": 1, + "BICYCLE": 2, + "WALK": 3, + "TWO_WHEELER": 4, + } +) + +func (x RouteTravelMode) Enum() *RouteTravelMode { + p := new(RouteTravelMode) + *p = x + return p +} + +func (x RouteTravelMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouteTravelMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_route_travel_mode_proto_enumTypes[0].Descriptor() +} + +func (RouteTravelMode) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_route_travel_mode_proto_enumTypes[0] +} + +func (x RouteTravelMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteTravelMode.Descriptor instead. +func (RouteTravelMode) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_route_travel_mode_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_route_travel_mode_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_route_travel_mode_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, + 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2a, 0x61, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x54, + 0x52, 0x41, 0x56, 0x45, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x49, 0x56, + 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x4c, 0x4b, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x57, + 0x4f, 0x5f, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x42, 0xcc, 0x01, 0x0a, 0x1a, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, + 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_route_travel_mode_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_route_travel_mode_proto_rawDescData = file_google_maps_routing_v2_route_travel_mode_proto_rawDesc +) + +func file_google_maps_routing_v2_route_travel_mode_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_route_travel_mode_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_route_travel_mode_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_route_travel_mode_proto_rawDescData) + }) + return file_google_maps_routing_v2_route_travel_mode_proto_rawDescData +} + +var file_google_maps_routing_v2_route_travel_mode_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_route_travel_mode_proto_goTypes = []interface{}{ + (RouteTravelMode)(0), // 0: google.maps.routing.v2.RouteTravelMode +} +var file_google_maps_routing_v2_route_travel_mode_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_route_travel_mode_proto_init() } +func file_google_maps_routing_v2_route_travel_mode_proto_init() { + if File_google_maps_routing_v2_route_travel_mode_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_route_travel_mode_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_route_travel_mode_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_route_travel_mode_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_route_travel_mode_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_route_travel_mode_proto = out.File + file_google_maps_routing_v2_route_travel_mode_proto_rawDesc = nil + file_google_maps_routing_v2_route_travel_mode_proto_goTypes = nil + file_google_maps_routing_v2_route_travel_mode_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/routes_service.pb.go b/maps/routing/apiv2/routingpb/routes_service.pb.go new file mode 100644 index 00000000000..b63443b842a --- /dev/null +++ b/maps/routing/apiv2/routingpb/routes_service.pb.go @@ -0,0 +1,1459 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/routes_service.proto + +package routingpb + +import ( + context "context" + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status1 "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The condition of the route being returned. +type RouteMatrixElementCondition int32 + +const ( + // Only used when the `status` of the element is not OK. + RouteMatrixElementCondition_ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED RouteMatrixElementCondition = 0 + // A route was found, and the corresponding information was filled out for the + // element. + RouteMatrixElementCondition_ROUTE_EXISTS RouteMatrixElementCondition = 1 + // No route could be found. Fields containing route information, such as + // `distance_meters` or `duration`, will not be filled out in the element. + RouteMatrixElementCondition_ROUTE_NOT_FOUND RouteMatrixElementCondition = 2 +) + +// Enum value maps for RouteMatrixElementCondition. +var ( + RouteMatrixElementCondition_name = map[int32]string{ + 0: "ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED", + 1: "ROUTE_EXISTS", + 2: "ROUTE_NOT_FOUND", + } + RouteMatrixElementCondition_value = map[string]int32{ + "ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED": 0, + "ROUTE_EXISTS": 1, + "ROUTE_NOT_FOUND": 2, + } +) + +func (x RouteMatrixElementCondition) Enum() *RouteMatrixElementCondition { + p := new(RouteMatrixElementCondition) + *p = x + return p +} + +func (x RouteMatrixElementCondition) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouteMatrixElementCondition) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_routes_service_proto_enumTypes[0].Descriptor() +} + +func (RouteMatrixElementCondition) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_routes_service_proto_enumTypes[0] +} + +func (x RouteMatrixElementCondition) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteMatrixElementCondition.Descriptor instead. +func (RouteMatrixElementCondition) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{0} +} + +// A supported reference route on the ComputeRoutesRequest. +type ComputeRoutesRequest_ReferenceRoute int32 + +const ( + // Not used. Requests containing this value fail. + ComputeRoutesRequest_REFERENCE_ROUTE_UNSPECIFIED ComputeRoutesRequest_ReferenceRoute = 0 + // Fuel efficient route. Routes labeled with this value are determined to be + // optimized for parameters such as fuel consumption. + ComputeRoutesRequest_FUEL_EFFICIENT ComputeRoutesRequest_ReferenceRoute = 1 +) + +// Enum value maps for ComputeRoutesRequest_ReferenceRoute. +var ( + ComputeRoutesRequest_ReferenceRoute_name = map[int32]string{ + 0: "REFERENCE_ROUTE_UNSPECIFIED", + 1: "FUEL_EFFICIENT", + } + ComputeRoutesRequest_ReferenceRoute_value = map[string]int32{ + "REFERENCE_ROUTE_UNSPECIFIED": 0, + "FUEL_EFFICIENT": 1, + } +) + +func (x ComputeRoutesRequest_ReferenceRoute) Enum() *ComputeRoutesRequest_ReferenceRoute { + p := new(ComputeRoutesRequest_ReferenceRoute) + *p = x + return p +} + +func (x ComputeRoutesRequest_ReferenceRoute) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ComputeRoutesRequest_ReferenceRoute) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_routes_service_proto_enumTypes[1].Descriptor() +} + +func (ComputeRoutesRequest_ReferenceRoute) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_routes_service_proto_enumTypes[1] +} + +func (x ComputeRoutesRequest_ReferenceRoute) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ComputeRoutesRequest_ReferenceRoute.Descriptor instead. +func (ComputeRoutesRequest_ReferenceRoute) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{0, 0} +} + +// ComputeRoutes request message. +type ComputeRoutesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Origin waypoint. + Origin *Waypoint `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` + // Required. Destination waypoint. + Destination *Waypoint `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` + // Optional. A set of waypoints along the route (excluding terminal points), + // for either stopping at or passing by. Up to 25 intermediate waypoints are + // supported. + Intermediates []*Waypoint `protobuf:"bytes,3,rep,name=intermediates,proto3" json:"intermediates,omitempty"` + // Optional. Specifies the mode of transportation. + TravelMode RouteTravelMode `protobuf:"varint,4,opt,name=travel_mode,json=travelMode,proto3,enum=google.maps.routing.v2.RouteTravelMode" json:"travel_mode,omitempty"` + // Optional. Specifies how to compute the route. The server + // attempts to use the selected routing preference to compute the route. If + // + // the routing preference results in an error or an extra long latency, then + // + // an error is returned. In the future, we might implement a fallback + // mechanism to use a different option when the preferred option does not give + // a valid result. You can specify this option only when the `travel_mode` is + // `DRIVE` or `TWO_WHEELER`, otherwise the request fails. + RoutingPreference RoutingPreference `protobuf:"varint,5,opt,name=routing_preference,json=routingPreference,proto3,enum=google.maps.routing.v2.RoutingPreference" json:"routing_preference,omitempty"` + // Optional. Specifies your preference for the quality of the polyline. + PolylineQuality PolylineQuality `protobuf:"varint,6,opt,name=polyline_quality,json=polylineQuality,proto3,enum=google.maps.routing.v2.PolylineQuality" json:"polyline_quality,omitempty"` + // Optional. Specifies the preferred encoding for the polyline. + PolylineEncoding PolylineEncoding `protobuf:"varint,12,opt,name=polyline_encoding,json=polylineEncoding,proto3,enum=google.maps.routing.v2.PolylineEncoding" json:"polyline_encoding,omitempty"` + // Optional. The departure time. If you don't set this value, then this value + // defaults to the time that you made the request. If you set this value to a + // time that has already occurred, then the request fails. + DepartureTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=departure_time,json=departureTime,proto3" json:"departure_time,omitempty"` + // Optional. Specifies whether to calculate alternate routes in addition to the route. + ComputeAlternativeRoutes bool `protobuf:"varint,8,opt,name=compute_alternative_routes,json=computeAlternativeRoutes,proto3" json:"compute_alternative_routes,omitempty"` + // Optional. A set of conditions to satisfy that affect the way routes are + // calculated. + RouteModifiers *RouteModifiers `protobuf:"bytes,9,opt,name=route_modifiers,json=routeModifiers,proto3" json:"route_modifiers,omitempty"` + // Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. See + // [Language Support](https://developers.google.com/maps/faq#languagesupport) + // for the list of supported languages. When you don't provide this value, the + // display language is inferred from the location of the route request. + LanguageCode string `protobuf:"bytes,10,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Optional. Specifies the units of measure for the display fields. This + // includes the `instruction` field in `NavigationInstruction`. The units of + // measure used for the route, leg, step distance, and duration are not + // affected by this value. If you don't provide this value, then the display + // units are inferred from the location of the request. + Units Units `protobuf:"varint,11,opt,name=units,proto3,enum=google.maps.routing.v2.Units" json:"units,omitempty"` + // Optional. Specifies what reference routes to calculate as part of the request in + // addition to the default route. + // A reference route is a route with a different route calculation objective + // than the default route. For example an FUEL_EFFICIENT reference route + // calculation takes into account various parameters that would generate an + // optimal fuel efficient route. + RequestedReferenceRoutes []ComputeRoutesRequest_ReferenceRoute `protobuf:"varint,14,rep,packed,name=requested_reference_routes,json=requestedReferenceRoutes,proto3,enum=google.maps.routing.v2.ComputeRoutesRequest_ReferenceRoute" json:"requested_reference_routes,omitempty"` +} + +func (x *ComputeRoutesRequest) Reset() { + *x = ComputeRoutesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeRoutesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeRoutesRequest) ProtoMessage() {} + +func (x *ComputeRoutesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeRoutesRequest.ProtoReflect.Descriptor instead. +func (*ComputeRoutesRequest) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ComputeRoutesRequest) GetOrigin() *Waypoint { + if x != nil { + return x.Origin + } + return nil +} + +func (x *ComputeRoutesRequest) GetDestination() *Waypoint { + if x != nil { + return x.Destination + } + return nil +} + +func (x *ComputeRoutesRequest) GetIntermediates() []*Waypoint { + if x != nil { + return x.Intermediates + } + return nil +} + +func (x *ComputeRoutesRequest) GetTravelMode() RouteTravelMode { + if x != nil { + return x.TravelMode + } + return RouteTravelMode_TRAVEL_MODE_UNSPECIFIED +} + +func (x *ComputeRoutesRequest) GetRoutingPreference() RoutingPreference { + if x != nil { + return x.RoutingPreference + } + return RoutingPreference_ROUTING_PREFERENCE_UNSPECIFIED +} + +func (x *ComputeRoutesRequest) GetPolylineQuality() PolylineQuality { + if x != nil { + return x.PolylineQuality + } + return PolylineQuality_POLYLINE_QUALITY_UNSPECIFIED +} + +func (x *ComputeRoutesRequest) GetPolylineEncoding() PolylineEncoding { + if x != nil { + return x.PolylineEncoding + } + return PolylineEncoding_POLYLINE_ENCODING_UNSPECIFIED +} + +func (x *ComputeRoutesRequest) GetDepartureTime() *timestamppb.Timestamp { + if x != nil { + return x.DepartureTime + } + return nil +} + +func (x *ComputeRoutesRequest) GetComputeAlternativeRoutes() bool { + if x != nil { + return x.ComputeAlternativeRoutes + } + return false +} + +func (x *ComputeRoutesRequest) GetRouteModifiers() *RouteModifiers { + if x != nil { + return x.RouteModifiers + } + return nil +} + +func (x *ComputeRoutesRequest) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *ComputeRoutesRequest) GetUnits() Units { + if x != nil { + return x.Units + } + return Units_UNITS_UNSPECIFIED +} + +func (x *ComputeRoutesRequest) GetRequestedReferenceRoutes() []ComputeRoutesRequest_ReferenceRoute { + if x != nil { + return x.RequestedReferenceRoutes + } + return nil +} + +// ComputeRoutes the response message. +type ComputeRoutesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Contains an array of computed routes (up to three) when you specify + // compute_alternatives_routes, and contains just one route when you don't. + // When this array contains multiple entries, the first one is the most + // recommended route. If the array is empty, then it means no route could be + // found. + Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + // In some cases when the server is not able to compute the route results with + // all of the input preferences, it may fallback to using a different way of + // computation. When fallback mode is used, this field contains detailed info + // about the fallback response. Otherwise this field is unset. + FallbackInfo *FallbackInfo `protobuf:"bytes,2,opt,name=fallback_info,json=fallbackInfo,proto3" json:"fallback_info,omitempty"` +} + +func (x *ComputeRoutesResponse) Reset() { + *x = ComputeRoutesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeRoutesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeRoutesResponse) ProtoMessage() {} + +func (x *ComputeRoutesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeRoutesResponse.ProtoReflect.Descriptor instead. +func (*ComputeRoutesResponse) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ComputeRoutesResponse) GetRoutes() []*Route { + if x != nil { + return x.Routes + } + return nil +} + +func (x *ComputeRoutesResponse) GetFallbackInfo() *FallbackInfo { + if x != nil { + return x.FallbackInfo + } + return nil +} + +// ComputeRouteMatrix request message +type ComputeRouteMatrixRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Array of origins, which determines the rows of the response matrix. + // Several size restrictions apply to the cardinality of origins and + // destinations: + // + // * The number of elements (origins × destinations) must be no greater than + // 625 in any case. + // * The number of elements (origins × destinations) must be no greater than + // 100 if routing_preference is set to `TRAFFIC_AWARE_OPTIMAL`. + // * The number of waypoints (origins + destinations) specified as `place_id` + // must be no greater than 50. + Origins []*RouteMatrixOrigin `protobuf:"bytes,1,rep,name=origins,proto3" json:"origins,omitempty"` + // Required. Array of destinations, which determines the columns of the response matrix. + Destinations []*RouteMatrixDestination `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` + // Optional. Specifies the mode of transportation. + TravelMode RouteTravelMode `protobuf:"varint,3,opt,name=travel_mode,json=travelMode,proto3,enum=google.maps.routing.v2.RouteTravelMode" json:"travel_mode,omitempty"` + // Optional. Specifies how to compute the route. The server attempts to use the selected + // routing preference to compute the route. If the routing preference results + // in an error or an extra long latency, an error is returned. In the future, + // we might implement a fallback mechanism to use a different option when the + // preferred option does not give a valid result. You can specify this option + // only when the `travel_mode` is `DRIVE` or `TWO_WHEELER`, otherwise the + // request fails. + RoutingPreference RoutingPreference `protobuf:"varint,4,opt,name=routing_preference,json=routingPreference,proto3,enum=google.maps.routing.v2.RoutingPreference" json:"routing_preference,omitempty"` + // Optional. The departure time. If you don't set this value, this defaults to the time + // that you made the request. If you set this value to a time that has already + // occurred, the request fails. + DepartureTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=departure_time,json=departureTime,proto3" json:"departure_time,omitempty"` +} + +func (x *ComputeRouteMatrixRequest) Reset() { + *x = ComputeRouteMatrixRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeRouteMatrixRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeRouteMatrixRequest) ProtoMessage() {} + +func (x *ComputeRouteMatrixRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeRouteMatrixRequest.ProtoReflect.Descriptor instead. +func (*ComputeRouteMatrixRequest) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ComputeRouteMatrixRequest) GetOrigins() []*RouteMatrixOrigin { + if x != nil { + return x.Origins + } + return nil +} + +func (x *ComputeRouteMatrixRequest) GetDestinations() []*RouteMatrixDestination { + if x != nil { + return x.Destinations + } + return nil +} + +func (x *ComputeRouteMatrixRequest) GetTravelMode() RouteTravelMode { + if x != nil { + return x.TravelMode + } + return RouteTravelMode_TRAVEL_MODE_UNSPECIFIED +} + +func (x *ComputeRouteMatrixRequest) GetRoutingPreference() RoutingPreference { + if x != nil { + return x.RoutingPreference + } + return RoutingPreference_ROUTING_PREFERENCE_UNSPECIFIED +} + +func (x *ComputeRouteMatrixRequest) GetDepartureTime() *timestamppb.Timestamp { + if x != nil { + return x.DepartureTime + } + return nil +} + +// A single origin for ComputeRouteMatrixRequest +type RouteMatrixOrigin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Origin waypoint + Waypoint *Waypoint `protobuf:"bytes,1,opt,name=waypoint,proto3" json:"waypoint,omitempty"` + // Optional. Modifiers for every route that takes this as the origin + RouteModifiers *RouteModifiers `protobuf:"bytes,2,opt,name=route_modifiers,json=routeModifiers,proto3" json:"route_modifiers,omitempty"` +} + +func (x *RouteMatrixOrigin) Reset() { + *x = RouteMatrixOrigin{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteMatrixOrigin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteMatrixOrigin) ProtoMessage() {} + +func (x *RouteMatrixOrigin) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteMatrixOrigin.ProtoReflect.Descriptor instead. +func (*RouteMatrixOrigin) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RouteMatrixOrigin) GetWaypoint() *Waypoint { + if x != nil { + return x.Waypoint + } + return nil +} + +func (x *RouteMatrixOrigin) GetRouteModifiers() *RouteModifiers { + if x != nil { + return x.RouteModifiers + } + return nil +} + +// A single destination for ComputeRouteMatrixRequest +type RouteMatrixDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Destination waypoint + Waypoint *Waypoint `protobuf:"bytes,1,opt,name=waypoint,proto3" json:"waypoint,omitempty"` +} + +func (x *RouteMatrixDestination) Reset() { + *x = RouteMatrixDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteMatrixDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteMatrixDestination) ProtoMessage() {} + +func (x *RouteMatrixDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteMatrixDestination.ProtoReflect.Descriptor instead. +func (*RouteMatrixDestination) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{4} +} + +func (x *RouteMatrixDestination) GetWaypoint() *Waypoint { + if x != nil { + return x.Waypoint + } + return nil +} + +// Encapsulates route information computed for an origin/destination pair in the +// ComputeRouteMatrix API. This proto can be streamed to the client. +type RouteMatrixElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Zero-based index of the origin in the request. + OriginIndex *int32 `protobuf:"varint,1,opt,name=origin_index,json=originIndex,proto3,oneof" json:"origin_index,omitempty"` + // Zero-based index of the destination in the request. + DestinationIndex *int32 `protobuf:"varint,2,opt,name=destination_index,json=destinationIndex,proto3,oneof" json:"destination_index,omitempty"` + // Error status code for this element. + Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + // Indicates whether the route was found or not. Independent of status. + Condition RouteMatrixElementCondition `protobuf:"varint,9,opt,name=condition,proto3,enum=google.maps.routing.v2.RouteMatrixElementCondition" json:"condition,omitempty"` + // The travel distance of the route, in meters. + DistanceMeters int32 `protobuf:"varint,4,opt,name=distance_meters,json=distanceMeters,proto3" json:"distance_meters,omitempty"` + // The length of time needed to navigate the route. If you set the + // `routing_preference` to `TRAFFIC_UNAWARE`, then this value is the same as + // `static_duration`. If you set the `routing_preference` to either + // `TRAFFIC_AWARE` or `TRAFFIC_AWARE_OPTIMAL`, then this value is calculated + // taking traffic conditions into account. + Duration *durationpb.Duration `protobuf:"bytes,5,opt,name=duration,proto3" json:"duration,omitempty"` + // The duration of traveling through the route without taking traffic + // conditions into consideration. + StaticDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=static_duration,json=staticDuration,proto3" json:"static_duration,omitempty"` + // Additional information about the route. For example: restriction + // information and toll information + TravelAdvisory *RouteTravelAdvisory `protobuf:"bytes,7,opt,name=travel_advisory,json=travelAdvisory,proto3" json:"travel_advisory,omitempty"` + // In some cases when the server is not able to compute the route with the + // given preferences for this particular origin/destination pair, it may + // fall back to using a different mode of computation. When fallback mode is + // used, this field contains detailed information about the fallback response. + // Otherwise this field is unset. + FallbackInfo *FallbackInfo `protobuf:"bytes,8,opt,name=fallback_info,json=fallbackInfo,proto3" json:"fallback_info,omitempty"` +} + +func (x *RouteMatrixElement) Reset() { + *x = RouteMatrixElement{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteMatrixElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteMatrixElement) ProtoMessage() {} + +func (x *RouteMatrixElement) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_routes_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteMatrixElement.ProtoReflect.Descriptor instead. +func (*RouteMatrixElement) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routes_service_proto_rawDescGZIP(), []int{5} +} + +func (x *RouteMatrixElement) GetOriginIndex() int32 { + if x != nil && x.OriginIndex != nil { + return *x.OriginIndex + } + return 0 +} + +func (x *RouteMatrixElement) GetDestinationIndex() int32 { + if x != nil && x.DestinationIndex != nil { + return *x.DestinationIndex + } + return 0 +} + +func (x *RouteMatrixElement) GetStatus() *status.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *RouteMatrixElement) GetCondition() RouteMatrixElementCondition { + if x != nil { + return x.Condition + } + return RouteMatrixElementCondition_ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED +} + +func (x *RouteMatrixElement) GetDistanceMeters() int32 { + if x != nil { + return x.DistanceMeters + } + return 0 +} + +func (x *RouteMatrixElement) GetDuration() *durationpb.Duration { + if x != nil { + return x.Duration + } + return nil +} + +func (x *RouteMatrixElement) GetStaticDuration() *durationpb.Duration { + if x != nil { + return x.StaticDuration + } + return nil +} + +func (x *RouteMatrixElement) GetTravelAdvisory() *RouteTravelAdvisory { + if x != nil { + return x.TravelAdvisory + } + return nil +} + +func (x *RouteMatrixElement) GetFallbackInfo() *FallbackInfo { + if x != nil { + return x.FallbackInfo + } + return nil +} + +var File_google_maps_routing_v2_routes_service_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_routes_service_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x32, 0x2f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, + 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, + 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x6e, 0x69, 0x74, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, + 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x08, 0x0a, 0x14, 0x43, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x12, 0x47, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x57, + 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0d, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, + 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x76, 0x65, + 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6f, + 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x5a, 0x0a, + 0x11, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, + 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x70, + 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x41, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x69, + 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x7e, + 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, + 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x45, + 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x4f, + 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x45, 0x4c, 0x5f, 0x45, 0x46, 0x46, 0x49, 0x43, 0x49, + 0x45, 0x4e, 0x54, 0x10, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x35, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0xb4, 0x03, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x48, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0c, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x41, + 0x0a, 0x08, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x54, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x22, 0x5b, 0x0a, 0x16, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x41, 0x0a, 0x08, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x79, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x77, 0x61, 0x79, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xd9, 0x04, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x51, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, + 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x52, 0x0e, + 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x12, 0x49, + 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x66, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2a, 0x74, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2e, 0x0a, 0x2a, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x52, 0x49, 0x58, 0x5f, + 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, + 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x32, 0xe4, 0x02, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xa7, 0x01, 0x0a, 0x12, 0x43, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2f, 0x76, 0x32, 0x3a, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3a, 0x01, + 0x2a, 0x30, 0x01, 0x1a, 0x18, 0xca, 0x41, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0xca, 0x01, + 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, + 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_routes_service_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_routes_service_proto_rawDescData = file_google_maps_routing_v2_routes_service_proto_rawDesc +) + +func file_google_maps_routing_v2_routes_service_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_routes_service_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_routes_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_routes_service_proto_rawDescData) + }) + return file_google_maps_routing_v2_routes_service_proto_rawDescData +} + +var file_google_maps_routing_v2_routes_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_maps_routing_v2_routes_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_maps_routing_v2_routes_service_proto_goTypes = []interface{}{ + (RouteMatrixElementCondition)(0), // 0: google.maps.routing.v2.RouteMatrixElementCondition + (ComputeRoutesRequest_ReferenceRoute)(0), // 1: google.maps.routing.v2.ComputeRoutesRequest.ReferenceRoute + (*ComputeRoutesRequest)(nil), // 2: google.maps.routing.v2.ComputeRoutesRequest + (*ComputeRoutesResponse)(nil), // 3: google.maps.routing.v2.ComputeRoutesResponse + (*ComputeRouteMatrixRequest)(nil), // 4: google.maps.routing.v2.ComputeRouteMatrixRequest + (*RouteMatrixOrigin)(nil), // 5: google.maps.routing.v2.RouteMatrixOrigin + (*RouteMatrixDestination)(nil), // 6: google.maps.routing.v2.RouteMatrixDestination + (*RouteMatrixElement)(nil), // 7: google.maps.routing.v2.RouteMatrixElement + (*Waypoint)(nil), // 8: google.maps.routing.v2.Waypoint + (RouteTravelMode)(0), // 9: google.maps.routing.v2.RouteTravelMode + (RoutingPreference)(0), // 10: google.maps.routing.v2.RoutingPreference + (PolylineQuality)(0), // 11: google.maps.routing.v2.PolylineQuality + (PolylineEncoding)(0), // 12: google.maps.routing.v2.PolylineEncoding + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp + (*RouteModifiers)(nil), // 14: google.maps.routing.v2.RouteModifiers + (Units)(0), // 15: google.maps.routing.v2.Units + (*Route)(nil), // 16: google.maps.routing.v2.Route + (*FallbackInfo)(nil), // 17: google.maps.routing.v2.FallbackInfo + (*status.Status)(nil), // 18: google.rpc.Status + (*durationpb.Duration)(nil), // 19: google.protobuf.Duration + (*RouteTravelAdvisory)(nil), // 20: google.maps.routing.v2.RouteTravelAdvisory +} +var file_google_maps_routing_v2_routes_service_proto_depIdxs = []int32{ + 8, // 0: google.maps.routing.v2.ComputeRoutesRequest.origin:type_name -> google.maps.routing.v2.Waypoint + 8, // 1: google.maps.routing.v2.ComputeRoutesRequest.destination:type_name -> google.maps.routing.v2.Waypoint + 8, // 2: google.maps.routing.v2.ComputeRoutesRequest.intermediates:type_name -> google.maps.routing.v2.Waypoint + 9, // 3: google.maps.routing.v2.ComputeRoutesRequest.travel_mode:type_name -> google.maps.routing.v2.RouteTravelMode + 10, // 4: google.maps.routing.v2.ComputeRoutesRequest.routing_preference:type_name -> google.maps.routing.v2.RoutingPreference + 11, // 5: google.maps.routing.v2.ComputeRoutesRequest.polyline_quality:type_name -> google.maps.routing.v2.PolylineQuality + 12, // 6: google.maps.routing.v2.ComputeRoutesRequest.polyline_encoding:type_name -> google.maps.routing.v2.PolylineEncoding + 13, // 7: google.maps.routing.v2.ComputeRoutesRequest.departure_time:type_name -> google.protobuf.Timestamp + 14, // 8: google.maps.routing.v2.ComputeRoutesRequest.route_modifiers:type_name -> google.maps.routing.v2.RouteModifiers + 15, // 9: google.maps.routing.v2.ComputeRoutesRequest.units:type_name -> google.maps.routing.v2.Units + 1, // 10: google.maps.routing.v2.ComputeRoutesRequest.requested_reference_routes:type_name -> google.maps.routing.v2.ComputeRoutesRequest.ReferenceRoute + 16, // 11: google.maps.routing.v2.ComputeRoutesResponse.routes:type_name -> google.maps.routing.v2.Route + 17, // 12: google.maps.routing.v2.ComputeRoutesResponse.fallback_info:type_name -> google.maps.routing.v2.FallbackInfo + 5, // 13: google.maps.routing.v2.ComputeRouteMatrixRequest.origins:type_name -> google.maps.routing.v2.RouteMatrixOrigin + 6, // 14: google.maps.routing.v2.ComputeRouteMatrixRequest.destinations:type_name -> google.maps.routing.v2.RouteMatrixDestination + 9, // 15: google.maps.routing.v2.ComputeRouteMatrixRequest.travel_mode:type_name -> google.maps.routing.v2.RouteTravelMode + 10, // 16: google.maps.routing.v2.ComputeRouteMatrixRequest.routing_preference:type_name -> google.maps.routing.v2.RoutingPreference + 13, // 17: google.maps.routing.v2.ComputeRouteMatrixRequest.departure_time:type_name -> google.protobuf.Timestamp + 8, // 18: google.maps.routing.v2.RouteMatrixOrigin.waypoint:type_name -> google.maps.routing.v2.Waypoint + 14, // 19: google.maps.routing.v2.RouteMatrixOrigin.route_modifiers:type_name -> google.maps.routing.v2.RouteModifiers + 8, // 20: google.maps.routing.v2.RouteMatrixDestination.waypoint:type_name -> google.maps.routing.v2.Waypoint + 18, // 21: google.maps.routing.v2.RouteMatrixElement.status:type_name -> google.rpc.Status + 0, // 22: google.maps.routing.v2.RouteMatrixElement.condition:type_name -> google.maps.routing.v2.RouteMatrixElementCondition + 19, // 23: google.maps.routing.v2.RouteMatrixElement.duration:type_name -> google.protobuf.Duration + 19, // 24: google.maps.routing.v2.RouteMatrixElement.static_duration:type_name -> google.protobuf.Duration + 20, // 25: google.maps.routing.v2.RouteMatrixElement.travel_advisory:type_name -> google.maps.routing.v2.RouteTravelAdvisory + 17, // 26: google.maps.routing.v2.RouteMatrixElement.fallback_info:type_name -> google.maps.routing.v2.FallbackInfo + 2, // 27: google.maps.routing.v2.Routes.ComputeRoutes:input_type -> google.maps.routing.v2.ComputeRoutesRequest + 4, // 28: google.maps.routing.v2.Routes.ComputeRouteMatrix:input_type -> google.maps.routing.v2.ComputeRouteMatrixRequest + 3, // 29: google.maps.routing.v2.Routes.ComputeRoutes:output_type -> google.maps.routing.v2.ComputeRoutesResponse + 7, // 30: google.maps.routing.v2.Routes.ComputeRouteMatrix:output_type -> google.maps.routing.v2.RouteMatrixElement + 29, // [29:31] is the sub-list for method output_type + 27, // [27:29] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_routes_service_proto_init() } +func file_google_maps_routing_v2_routes_service_proto_init() { + if File_google_maps_routing_v2_routes_service_proto != nil { + return + } + file_google_maps_routing_v2_fallback_info_proto_init() + file_google_maps_routing_v2_polyline_proto_init() + file_google_maps_routing_v2_route_proto_init() + file_google_maps_routing_v2_route_modifiers_proto_init() + file_google_maps_routing_v2_route_travel_mode_proto_init() + file_google_maps_routing_v2_routing_preference_proto_init() + file_google_maps_routing_v2_units_proto_init() + file_google_maps_routing_v2_waypoint_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_routes_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeRoutesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeRoutesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeRouteMatrixRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteMatrixOrigin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteMatrixDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteMatrixElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_maps_routing_v2_routes_service_proto_msgTypes[5].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_routes_service_proto_rawDesc, + NumEnums: 2, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_maps_routing_v2_routes_service_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_routes_service_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_routes_service_proto_enumTypes, + MessageInfos: file_google_maps_routing_v2_routes_service_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_routes_service_proto = out.File + file_google_maps_routing_v2_routes_service_proto_rawDesc = nil + file_google_maps_routing_v2_routes_service_proto_goTypes = nil + file_google_maps_routing_v2_routes_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// RoutesClient is the client API for Routes service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type RoutesClient interface { + // 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. + ComputeRoutes(ctx context.Context, in *ComputeRoutesRequest, opts ...grpc.CallOption) (*ComputeRoutesResponse, error) + // 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. + ComputeRouteMatrix(ctx context.Context, in *ComputeRouteMatrixRequest, opts ...grpc.CallOption) (Routes_ComputeRouteMatrixClient, error) +} + +type routesClient struct { + cc grpc.ClientConnInterface +} + +func NewRoutesClient(cc grpc.ClientConnInterface) RoutesClient { + return &routesClient{cc} +} + +func (c *routesClient) ComputeRoutes(ctx context.Context, in *ComputeRoutesRequest, opts ...grpc.CallOption) (*ComputeRoutesResponse, error) { + out := new(ComputeRoutesResponse) + err := c.cc.Invoke(ctx, "/google.maps.routing.v2.Routes/ComputeRoutes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *routesClient) ComputeRouteMatrix(ctx context.Context, in *ComputeRouteMatrixRequest, opts ...grpc.CallOption) (Routes_ComputeRouteMatrixClient, error) { + stream, err := c.cc.NewStream(ctx, &_Routes_serviceDesc.Streams[0], "/google.maps.routing.v2.Routes/ComputeRouteMatrix", opts...) + if err != nil { + return nil, err + } + x := &routesComputeRouteMatrixClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Routes_ComputeRouteMatrixClient interface { + Recv() (*RouteMatrixElement, error) + grpc.ClientStream +} + +type routesComputeRouteMatrixClient struct { + grpc.ClientStream +} + +func (x *routesComputeRouteMatrixClient) Recv() (*RouteMatrixElement, error) { + m := new(RouteMatrixElement) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// RoutesServer is the server API for Routes service. +type RoutesServer interface { + // 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. + ComputeRoutes(context.Context, *ComputeRoutesRequest) (*ComputeRoutesResponse, error) + // 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. + ComputeRouteMatrix(*ComputeRouteMatrixRequest, Routes_ComputeRouteMatrixServer) error +} + +// UnimplementedRoutesServer can be embedded to have forward compatible implementations. +type UnimplementedRoutesServer struct { +} + +func (*UnimplementedRoutesServer) ComputeRoutes(context.Context, *ComputeRoutesRequest) (*ComputeRoutesResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ComputeRoutes not implemented") +} +func (*UnimplementedRoutesServer) ComputeRouteMatrix(*ComputeRouteMatrixRequest, Routes_ComputeRouteMatrixServer) error { + return status1.Errorf(codes.Unimplemented, "method ComputeRouteMatrix not implemented") +} + +func RegisterRoutesServer(s *grpc.Server, srv RoutesServer) { + s.RegisterService(&_Routes_serviceDesc, srv) +} + +func _Routes_ComputeRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ComputeRoutesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoutesServer).ComputeRoutes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.maps.routing.v2.Routes/ComputeRoutes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoutesServer).ComputeRoutes(ctx, req.(*ComputeRoutesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Routes_ComputeRouteMatrix_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ComputeRouteMatrixRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(RoutesServer).ComputeRouteMatrix(m, &routesComputeRouteMatrixServer{stream}) +} + +type Routes_ComputeRouteMatrixServer interface { + Send(*RouteMatrixElement) error + grpc.ServerStream +} + +type routesComputeRouteMatrixServer struct { + grpc.ServerStream +} + +func (x *routesComputeRouteMatrixServer) Send(m *RouteMatrixElement) error { + return x.ServerStream.SendMsg(m) +} + +var _Routes_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.maps.routing.v2.Routes", + HandlerType: (*RoutesServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ComputeRoutes", + Handler: _Routes_ComputeRoutes_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ComputeRouteMatrix", + Handler: _Routes_ComputeRouteMatrix_Handler, + ServerStreams: true, + }, + }, + Metadata: "google/maps/routing/v2/routes_service.proto", +} diff --git a/maps/routing/apiv2/routingpb/routing_preference.pb.go b/maps/routing/apiv2/routingpb/routing_preference.pb.go new file mode 100644 index 00000000000..3f1c3a5fbe3 --- /dev/null +++ b/maps/routing/apiv2/routingpb/routing_preference.pb.go @@ -0,0 +1,186 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/routing_preference.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values that specify factors to take into consideration when +// calculating the route. +type RoutingPreference int32 + +const ( + // No routing preference specified. Default to `TRAFFIC_UNAWARE`. + RoutingPreference_ROUTING_PREFERENCE_UNSPECIFIED RoutingPreference = 0 + // Computes routes without taking live traffic conditions into consideration. + // Suitable when traffic conditions don't matter or are not applicable. + // Using this value produces the lowest latency. + // Note: For `RouteTravelMode` DRIVE and TWO_WHEELER choice of route and + // duration are based on road network and average time-independent traffic + // conditions. Results for a given request may vary over time due to changes + // in the road network, updated average traffic conditions, and the + // distributed nature of the service. Results may also vary between + // nearly-equivalent routes at any time or frequency. + RoutingPreference_TRAFFIC_UNAWARE RoutingPreference = 1 + // Calculates routes taking live traffic conditions into consideration. + // In contrast to `TRAFFIC_AWARE_OPTIMAL`, some optimizations are applied to + // significantly reduce latency. + RoutingPreference_TRAFFIC_AWARE RoutingPreference = 2 + // Calculates the routes taking live traffic conditions into consideration, + // without applying most performance optimizations. Using this value produces + // the highest latency. + RoutingPreference_TRAFFIC_AWARE_OPTIMAL RoutingPreference = 3 +) + +// Enum value maps for RoutingPreference. +var ( + RoutingPreference_name = map[int32]string{ + 0: "ROUTING_PREFERENCE_UNSPECIFIED", + 1: "TRAFFIC_UNAWARE", + 2: "TRAFFIC_AWARE", + 3: "TRAFFIC_AWARE_OPTIMAL", + } + RoutingPreference_value = map[string]int32{ + "ROUTING_PREFERENCE_UNSPECIFIED": 0, + "TRAFFIC_UNAWARE": 1, + "TRAFFIC_AWARE": 2, + "TRAFFIC_AWARE_OPTIMAL": 3, + } +) + +func (x RoutingPreference) Enum() *RoutingPreference { + p := new(RoutingPreference) + *p = x + return p +} + +func (x RoutingPreference) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RoutingPreference) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_routing_preference_proto_enumTypes[0].Descriptor() +} + +func (RoutingPreference) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_routing_preference_proto_enumTypes[0] +} + +func (x RoutingPreference) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RoutingPreference.Descriptor instead. +func (RoutingPreference) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_routing_preference_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_routing_preference_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_routing_preference_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2a, 0x7a, 0x0a, 0x11, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, + 0x0a, 0x1e, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, + 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x55, 0x4e, + 0x41, 0x57, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x46, 0x46, + 0x49, 0x43, 0x5f, 0x41, 0x57, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, + 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x41, 0x57, 0x41, 0x52, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4d, 0x41, 0x4c, 0x10, 0x03, 0x42, 0xce, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x42, 0x16, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, + 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, + 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_routing_preference_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_routing_preference_proto_rawDescData = file_google_maps_routing_v2_routing_preference_proto_rawDesc +) + +func file_google_maps_routing_v2_routing_preference_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_routing_preference_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_routing_preference_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_routing_preference_proto_rawDescData) + }) + return file_google_maps_routing_v2_routing_preference_proto_rawDescData +} + +var file_google_maps_routing_v2_routing_preference_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_routing_preference_proto_goTypes = []interface{}{ + (RoutingPreference)(0), // 0: google.maps.routing.v2.RoutingPreference +} +var file_google_maps_routing_v2_routing_preference_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_routing_preference_proto_init() } +func file_google_maps_routing_v2_routing_preference_proto_init() { + if File_google_maps_routing_v2_routing_preference_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_routing_preference_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_routing_preference_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_routing_preference_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_routing_preference_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_routing_preference_proto = out.File + file_google_maps_routing_v2_routing_preference_proto_rawDesc = nil + file_google_maps_routing_v2_routing_preference_proto_goTypes = nil + file_google_maps_routing_v2_routing_preference_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go b/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go new file mode 100644 index 00000000000..be35c6b4713 --- /dev/null +++ b/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go @@ -0,0 +1,277 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/speed_reading_interval.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The classification of polyline speed based on traffic data. +type SpeedReadingInterval_Speed int32 + +const ( + // Default value. This value is unused. + SpeedReadingInterval_SPEED_UNSPECIFIED SpeedReadingInterval_Speed = 0 + // Normal speed, no slowdown is detected. + SpeedReadingInterval_NORMAL SpeedReadingInterval_Speed = 1 + // Slowdown detected, but no traffic jam formed. + SpeedReadingInterval_SLOW SpeedReadingInterval_Speed = 2 + // Traffic jam detected. + SpeedReadingInterval_TRAFFIC_JAM SpeedReadingInterval_Speed = 3 +) + +// Enum value maps for SpeedReadingInterval_Speed. +var ( + SpeedReadingInterval_Speed_name = map[int32]string{ + 0: "SPEED_UNSPECIFIED", + 1: "NORMAL", + 2: "SLOW", + 3: "TRAFFIC_JAM", + } + SpeedReadingInterval_Speed_value = map[string]int32{ + "SPEED_UNSPECIFIED": 0, + "NORMAL": 1, + "SLOW": 2, + "TRAFFIC_JAM": 3, + } +) + +func (x SpeedReadingInterval_Speed) Enum() *SpeedReadingInterval_Speed { + p := new(SpeedReadingInterval_Speed) + *p = x + return p +} + +func (x SpeedReadingInterval_Speed) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SpeedReadingInterval_Speed) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_speed_reading_interval_proto_enumTypes[0].Descriptor() +} + +func (SpeedReadingInterval_Speed) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_speed_reading_interval_proto_enumTypes[0] +} + +func (x SpeedReadingInterval_Speed) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SpeedReadingInterval_Speed.Descriptor instead. +func (SpeedReadingInterval_Speed) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_speed_reading_interval_proto_rawDescGZIP(), []int{0, 0} +} + +// Traffic density indicator on a contiguous segment of a polyline or path. +// Given a path with points P_0, P_1, ... , P_N (zero-based index), the +// SpeedReadingInterval defines an interval and describes its traffic using the +// following categories. +type SpeedReadingInterval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The starting index of this interval in the polyline. + StartPolylinePointIndex *int32 `protobuf:"varint,1,opt,name=start_polyline_point_index,json=startPolylinePointIndex,proto3,oneof" json:"start_polyline_point_index,omitempty"` + // The ending index of this interval in the polyline. + EndPolylinePointIndex *int32 `protobuf:"varint,2,opt,name=end_polyline_point_index,json=endPolylinePointIndex,proto3,oneof" json:"end_polyline_point_index,omitempty"` + // Traffic speed in this interval. + Speed SpeedReadingInterval_Speed `protobuf:"varint,3,opt,name=speed,proto3,enum=google.maps.routing.v2.SpeedReadingInterval_Speed" json:"speed,omitempty"` +} + +func (x *SpeedReadingInterval) Reset() { + *x = SpeedReadingInterval{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpeedReadingInterval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpeedReadingInterval) ProtoMessage() {} + +func (x *SpeedReadingInterval) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpeedReadingInterval.ProtoReflect.Descriptor instead. +func (*SpeedReadingInterval) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_speed_reading_interval_proto_rawDescGZIP(), []int{0} +} + +func (x *SpeedReadingInterval) GetStartPolylinePointIndex() int32 { + if x != nil && x.StartPolylinePointIndex != nil { + return *x.StartPolylinePointIndex + } + return 0 +} + +func (x *SpeedReadingInterval) GetEndPolylinePointIndex() int32 { + if x != nil && x.EndPolylinePointIndex != nil { + return *x.EndPolylinePointIndex + } + return 0 +} + +func (x *SpeedReadingInterval) GetSpeed() SpeedReadingInterval_Speed { + if x != nil { + return x.Speed + } + return SpeedReadingInterval_SPEED_UNSPECIFIED +} + +var File_google_maps_routing_v2_speed_reading_interval_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_speed_reading_interval_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x22, 0xe3, 0x02, + 0x0a, 0x14, 0x53, 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x1a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x17, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x5f, + 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x15, 0x65, 0x6e, + 0x64, 0x50, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, + 0x22, 0x45, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x50, 0x45, + 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, + 0x43, 0x5f, 0x4a, 0x41, 0x4d, 0x10, 0x03, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x70, + 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0xd1, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x42, 0x19, 0x53, 0x70, 0x65, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, + 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, + 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_speed_reading_interval_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_speed_reading_interval_proto_rawDescData = file_google_maps_routing_v2_speed_reading_interval_proto_rawDesc +) + +func file_google_maps_routing_v2_speed_reading_interval_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_speed_reading_interval_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_speed_reading_interval_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_speed_reading_interval_proto_rawDescData) + }) + return file_google_maps_routing_v2_speed_reading_interval_proto_rawDescData +} + +var file_google_maps_routing_v2_speed_reading_interval_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_speed_reading_interval_proto_goTypes = []interface{}{ + (SpeedReadingInterval_Speed)(0), // 0: google.maps.routing.v2.SpeedReadingInterval.Speed + (*SpeedReadingInterval)(nil), // 1: google.maps.routing.v2.SpeedReadingInterval +} +var file_google_maps_routing_v2_speed_reading_interval_proto_depIdxs = []int32{ + 0, // 0: google.maps.routing.v2.SpeedReadingInterval.speed:type_name -> google.maps.routing.v2.SpeedReadingInterval.Speed + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_speed_reading_interval_proto_init() } +func file_google_maps_routing_v2_speed_reading_interval_proto_init() { + if File_google_maps_routing_v2_speed_reading_interval_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpeedReadingInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_speed_reading_interval_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_speed_reading_interval_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_speed_reading_interval_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_speed_reading_interval_proto_enumTypes, + MessageInfos: file_google_maps_routing_v2_speed_reading_interval_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_speed_reading_interval_proto = out.File + file_google_maps_routing_v2_speed_reading_interval_proto_rawDesc = nil + file_google_maps_routing_v2_speed_reading_interval_proto_goTypes = nil + file_google_maps_routing_v2_speed_reading_interval_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/toll_info.pb.go b/maps/routing/apiv2/routingpb/toll_info.pb.go new file mode 100644 index 00000000000..1c21f801b20 --- /dev/null +++ b/maps/routing/apiv2/routingpb/toll_info.pb.go @@ -0,0 +1,185 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/toll_info.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + money "google.golang.org/genproto/googleapis/type/money" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates toll information on a `Route` or on a `RouteLeg`. +type TollInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The monetary amount of tolls for the corresponding Route or RouteLeg. + // This list contains a money amount for each currency that is expected + // to be charged by the toll stations. Typically this list will contain only + // one item for routes with tolls in one currency. For international trips, + // this list may contain multiple items to reflect tolls in different + // currencies. + EstimatedPrice []*money.Money `protobuf:"bytes,1,rep,name=estimated_price,json=estimatedPrice,proto3" json:"estimated_price,omitempty"` +} + +func (x *TollInfo) Reset() { + *x = TollInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_toll_info_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TollInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TollInfo) ProtoMessage() {} + +func (x *TollInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_toll_info_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TollInfo.ProtoReflect.Descriptor instead. +func (*TollInfo) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_toll_info_proto_rawDescGZIP(), []int{0} +} + +func (x *TollInfo) GetEstimatedPrice() []*money.Money { + if x != nil { + return x.EstimatedPrice + } + return nil +} + +var File_google_maps_routing_v2_toll_info_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_toll_info_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, + 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x08, 0x54, 0x6f, 0x6c, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, + 0x65, 0x79, 0x52, 0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x42, 0xc5, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x32, 0x42, 0x0d, 0x54, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, + 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_toll_info_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_toll_info_proto_rawDescData = file_google_maps_routing_v2_toll_info_proto_rawDesc +) + +func file_google_maps_routing_v2_toll_info_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_toll_info_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_toll_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_toll_info_proto_rawDescData) + }) + return file_google_maps_routing_v2_toll_info_proto_rawDescData +} + +var file_google_maps_routing_v2_toll_info_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_toll_info_proto_goTypes = []interface{}{ + (*TollInfo)(nil), // 0: google.maps.routing.v2.TollInfo + (*money.Money)(nil), // 1: google.type.Money +} +var file_google_maps_routing_v2_toll_info_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.TollInfo.estimated_price:type_name -> google.type.Money + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_toll_info_proto_init() } +func file_google_maps_routing_v2_toll_info_proto_init() { + if File_google_maps_routing_v2_toll_info_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_toll_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TollInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_toll_info_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_toll_info_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_toll_info_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_toll_info_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_toll_info_proto = out.File + file_google_maps_routing_v2_toll_info_proto_rawDesc = nil + file_google_maps_routing_v2_toll_info_proto_goTypes = nil + file_google_maps_routing_v2_toll_info_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/toll_passes.pb.go b/maps/routing/apiv2/routingpb/toll_passes.pb.go new file mode 100644 index 00000000000..35eb498844e --- /dev/null +++ b/maps/routing/apiv2/routingpb/toll_passes.pb.go @@ -0,0 +1,669 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/toll_passes.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// List of toll passes around the world that we support. +type TollPass int32 + +const ( + // Not used. If this value is used, then the request fails. + TollPass_TOLL_PASS_UNSPECIFIED TollPass = 0 + // Sydney toll pass. See additional details at https://www.myetoll.com.au. + TollPass_AU_ETOLL_TAG TollPass = 82 + // Sydney toll pass. See additional details at https://www.tollpay.com.au. + TollPass_AU_EWAY_TAG TollPass = 83 + // Australia-wide toll pass. + // See additional details at https://www.linkt.com.au/. + TollPass_AU_LINKT TollPass = 2 + // Argentina toll pass. See additional details at https://telepase.com.ar + TollPass_AR_TELEPASE TollPass = 3 + // Brazil toll pass. See additional details at https://www.autoexpreso.com + TollPass_BR_AUTO_EXPRESO TollPass = 81 + // Brazil toll pass. See additional details at https://conectcar.com. + TollPass_BR_CONECTCAR TollPass = 7 + // Brazil toll pass. See additional details at https://movemais.com. + TollPass_BR_MOVE_MAIS TollPass = 8 + // Brazil toll pass. See additional details at https://pasorapido.gob.do/ + TollPass_BR_PASSA_RAPIDO TollPass = 88 + // Brazil toll pass. See additional details at https://www.semparar.com.br. + TollPass_BR_SEM_PARAR TollPass = 9 + // Brazil toll pass. See additional details at https://taggy.com.br. + TollPass_BR_TAGGY TollPass = 10 + // Brazil toll pass. See additional details at + // https://veloe.com.br/site/onde-usar. + TollPass_BR_VELOE TollPass = 11 + // Canada to United States border crossing. + TollPass_CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD TollPass = 84 + // Canada to United States border crossing. + TollPass_CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD TollPass = 85 + // Ontario, Canada to Michigan, United States border crossing. + TollPass_CA_US_BLUE_WATER_EDGE_PASS TollPass = 18 + // Ontario, Canada to Michigan, United States border crossing. + TollPass_CA_US_CONNEXION TollPass = 19 + // Canada to United States border crossing. + TollPass_CA_US_NEXUS_CARD TollPass = 20 + // Indonesia. + // E-card provided by multiple banks used to pay for tolls. All e-cards + // via banks are charged the same so only one enum value is needed. E.g. + // - Bank Mandiri https://www.bankmandiri.co.id/e-money + // - BCA https://www.bca.co.id/flazz + // - BNI https://www.bni.co.id/id-id/ebanking/tapcash + TollPass_ID_E_TOLL TollPass = 16 + // India. + TollPass_IN_FASTAG TollPass = 78 + // India, HP state plate exemption. + TollPass_IN_LOCAL_HP_PLATE_EXEMPT TollPass = 79 + // Mexico toll pass. + // https://iave.capufe.gob.mx/#/ + TollPass_MX_IAVE TollPass = 90 + // Mexico + // https://www.pase.com.mx + TollPass_MX_PASE TollPass = 91 + // Mexico + // + // https://operadoravial.com/quick-pass/ + TollPass_MX_QUICKPASS TollPass = 93 + // http://appsh.chihuahua.gob.mx/transparencia/?doc=/ingresos/TelepeajeFormato4.pdf + TollPass_MX_SISTEMA_TELEPEAJE_CHIHUAHUA TollPass = 89 + // Mexico + TollPass_MX_TAG_IAVE TollPass = 12 + // Mexico toll pass company. One of many operating in Mexico City. See + // additional details at https://www.televia.com.mx. + TollPass_MX_TAG_TELEVIA TollPass = 13 + // Mexico toll pass company. One of many operating in Mexico City. + // https://www.televia.com.mx + TollPass_MX_TELEVIA TollPass = 92 + // Mexico toll pass. See additional details at + // https://www.viapass.com.mx/viapass/web_home.aspx. + TollPass_MX_VIAPASS TollPass = 14 + // AL, USA. + TollPass_US_AL_FREEDOM_PASS TollPass = 21 + // AK, USA. + TollPass_US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS TollPass = 22 + // CA, USA. + TollPass_US_CA_FASTRAK TollPass = 4 + // Indicates driver has any FasTrak pass in addition to the DMV issued Clean + // Air Vehicle (CAV) sticker. + // https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml + TollPass_US_CA_FASTRAK_CAV_STICKER TollPass = 86 + // CO, USA. + TollPass_US_CO_EXPRESSTOLL TollPass = 23 + // CO, USA. + TollPass_US_CO_GO_PASS TollPass = 24 + // DE, USA. + TollPass_US_DE_EZPASSDE TollPass = 25 + // FL, USA. + TollPass_US_FL_BOB_SIKES_TOLL_BRIDGE_PASS TollPass = 65 + // FL, USA. + TollPass_US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD TollPass = 66 + // FL, USA. + TollPass_US_FL_EPASS TollPass = 67 + // FL, USA. + TollPass_US_FL_GIBA_TOLL_PASS TollPass = 68 + // FL, USA. + TollPass_US_FL_LEEWAY TollPass = 69 + // FL, USA. + TollPass_US_FL_SUNPASS TollPass = 70 + // FL, USA. + TollPass_US_FL_SUNPASS_PRO TollPass = 71 + // IL, USA. + TollPass_US_IL_EZPASSIL TollPass = 73 + // IL, USA. + TollPass_US_IL_IPASS TollPass = 72 + // IN, USA. + TollPass_US_IN_EZPASSIN TollPass = 26 + // KS, USA. + TollPass_US_KS_BESTPASS_HORIZON TollPass = 27 + // KS, USA. + TollPass_US_KS_KTAG TollPass = 28 + // KS, USA. + TollPass_US_KS_NATIONALPASS TollPass = 29 + // KS, USA. + TollPass_US_KS_PREPASS_ELITEPASS TollPass = 30 + // KY, USA. + TollPass_US_KY_RIVERLINK TollPass = 31 + // LA, USA. + TollPass_US_LA_GEAUXPASS TollPass = 32 + // LA, USA. + TollPass_US_LA_TOLL_TAG TollPass = 33 + // MA, USA. + TollPass_US_MA_EZPASSMA TollPass = 6 + // MD, USA. + TollPass_US_MD_EZPASSMD TollPass = 34 + // ME, USA. + TollPass_US_ME_EZPASSME TollPass = 35 + // MI, USA. + TollPass_US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD TollPass = 36 + // MI, USA. + TollPass_US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG TollPass = 37 + // MI, USA. + TollPass_US_MI_IQ_PROX_CARD TollPass = 38 + // MI, USA. + TollPass_US_MI_MACKINAC_BRIDGE_MAC_PASS TollPass = 39 + // MI, USA. + TollPass_US_MI_NEXPRESS_TOLL TollPass = 40 + // MN, USA. + TollPass_US_MN_EZPASSMN TollPass = 41 + // NC, USA. + TollPass_US_NC_EZPASSNC TollPass = 42 + // NC, USA. + TollPass_US_NC_PEACH_PASS TollPass = 87 + // NC, USA. + TollPass_US_NC_QUICK_PASS TollPass = 43 + // NH, USA. + TollPass_US_NH_EZPASSNH TollPass = 80 + // NJ, USA. + TollPass_US_NJ_DOWNBEACH_EXPRESS_PASS TollPass = 75 + // NJ, USA. + TollPass_US_NJ_EZPASSNJ TollPass = 74 + // NY, USA. + TollPass_US_NY_EXPRESSPASS TollPass = 76 + // NY, USA. + TollPass_US_NY_EZPASSNY TollPass = 77 + // OH, USA. + TollPass_US_OH_EZPASSOH TollPass = 44 + // PA, USA. + TollPass_US_PA_EZPASSPA TollPass = 45 + // RI, USA. + TollPass_US_RI_EZPASSRI TollPass = 46 + // SC, USA. + TollPass_US_SC_PALPASS TollPass = 47 + // TX, USA. + TollPass_US_TX_BANCPASS TollPass = 48 + // TX, USA. + TollPass_US_TX_DEL_RIO_PASS TollPass = 49 + // TX, USA. + TollPass_US_TX_EFAST_PASS TollPass = 50 + // TX, USA. + TollPass_US_TX_EAGLE_PASS_EXPRESS_CARD TollPass = 51 + // TX, USA. + TollPass_US_TX_EPTOLL TollPass = 52 + // TX, USA. + TollPass_US_TX_EZ_CROSS TollPass = 53 + // TX, USA. + TollPass_US_TX_EZTAG TollPass = 54 + // TX, USA. + TollPass_US_TX_LAREDO_TRADE_TAG TollPass = 55 + // TX, USA. + TollPass_US_TX_PLUSPASS TollPass = 56 + // TX, USA. + TollPass_US_TX_TOLLTAG TollPass = 57 + // TX, USA. + TollPass_US_TX_TXTAG TollPass = 58 + // TX, USA. + TollPass_US_TX_XPRESS_CARD TollPass = 59 + // UT, USA. + TollPass_US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD TollPass = 60 + // VA, USA. + TollPass_US_VA_EZPASSVA TollPass = 61 + // WA, USA. + TollPass_US_WA_BREEZEBY TollPass = 17 + // WA, USA. + TollPass_US_WA_GOOD_TO_GO TollPass = 1 + // WV, USA. + TollPass_US_WV_EZPASSWV TollPass = 62 + // WV, USA. + TollPass_US_WV_MEMORIAL_BRIDGE_TICKETS TollPass = 63 + // WV, USA. + TollPass_US_WV_NEWELL_TOLL_BRIDGE_TICKET TollPass = 64 +) + +// Enum value maps for TollPass. +var ( + TollPass_name = map[int32]string{ + 0: "TOLL_PASS_UNSPECIFIED", + 82: "AU_ETOLL_TAG", + 83: "AU_EWAY_TAG", + 2: "AU_LINKT", + 3: "AR_TELEPASE", + 81: "BR_AUTO_EXPRESO", + 7: "BR_CONECTCAR", + 8: "BR_MOVE_MAIS", + 88: "BR_PASSA_RAPIDO", + 9: "BR_SEM_PARAR", + 10: "BR_TAGGY", + 11: "BR_VELOE", + 84: "CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD", + 85: "CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD", + 18: "CA_US_BLUE_WATER_EDGE_PASS", + 19: "CA_US_CONNEXION", + 20: "CA_US_NEXUS_CARD", + 16: "ID_E_TOLL", + 78: "IN_FASTAG", + 79: "IN_LOCAL_HP_PLATE_EXEMPT", + 90: "MX_IAVE", + 91: "MX_PASE", + 93: "MX_QUICKPASS", + 89: "MX_SISTEMA_TELEPEAJE_CHIHUAHUA", + 12: "MX_TAG_IAVE", + 13: "MX_TAG_TELEVIA", + 92: "MX_TELEVIA", + 14: "MX_VIAPASS", + 21: "US_AL_FREEDOM_PASS", + 22: "US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS", + 4: "US_CA_FASTRAK", + 86: "US_CA_FASTRAK_CAV_STICKER", + 23: "US_CO_EXPRESSTOLL", + 24: "US_CO_GO_PASS", + 25: "US_DE_EZPASSDE", + 65: "US_FL_BOB_SIKES_TOLL_BRIDGE_PASS", + 66: "US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD", + 67: "US_FL_EPASS", + 68: "US_FL_GIBA_TOLL_PASS", + 69: "US_FL_LEEWAY", + 70: "US_FL_SUNPASS", + 71: "US_FL_SUNPASS_PRO", + 73: "US_IL_EZPASSIL", + 72: "US_IL_IPASS", + 26: "US_IN_EZPASSIN", + 27: "US_KS_BESTPASS_HORIZON", + 28: "US_KS_KTAG", + 29: "US_KS_NATIONALPASS", + 30: "US_KS_PREPASS_ELITEPASS", + 31: "US_KY_RIVERLINK", + 32: "US_LA_GEAUXPASS", + 33: "US_LA_TOLL_TAG", + 6: "US_MA_EZPASSMA", + 34: "US_MD_EZPASSMD", + 35: "US_ME_EZPASSME", + 36: "US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD", + 37: "US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG", + 38: "US_MI_IQ_PROX_CARD", + 39: "US_MI_MACKINAC_BRIDGE_MAC_PASS", + 40: "US_MI_NEXPRESS_TOLL", + 41: "US_MN_EZPASSMN", + 42: "US_NC_EZPASSNC", + 87: "US_NC_PEACH_PASS", + 43: "US_NC_QUICK_PASS", + 80: "US_NH_EZPASSNH", + 75: "US_NJ_DOWNBEACH_EXPRESS_PASS", + 74: "US_NJ_EZPASSNJ", + 76: "US_NY_EXPRESSPASS", + 77: "US_NY_EZPASSNY", + 44: "US_OH_EZPASSOH", + 45: "US_PA_EZPASSPA", + 46: "US_RI_EZPASSRI", + 47: "US_SC_PALPASS", + 48: "US_TX_BANCPASS", + 49: "US_TX_DEL_RIO_PASS", + 50: "US_TX_EFAST_PASS", + 51: "US_TX_EAGLE_PASS_EXPRESS_CARD", + 52: "US_TX_EPTOLL", + 53: "US_TX_EZ_CROSS", + 54: "US_TX_EZTAG", + 55: "US_TX_LAREDO_TRADE_TAG", + 56: "US_TX_PLUSPASS", + 57: "US_TX_TOLLTAG", + 58: "US_TX_TXTAG", + 59: "US_TX_XPRESS_CARD", + 60: "US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD", + 61: "US_VA_EZPASSVA", + 17: "US_WA_BREEZEBY", + 1: "US_WA_GOOD_TO_GO", + 62: "US_WV_EZPASSWV", + 63: "US_WV_MEMORIAL_BRIDGE_TICKETS", + 64: "US_WV_NEWELL_TOLL_BRIDGE_TICKET", + } + TollPass_value = map[string]int32{ + "TOLL_PASS_UNSPECIFIED": 0, + "AU_ETOLL_TAG": 82, + "AU_EWAY_TAG": 83, + "AU_LINKT": 2, + "AR_TELEPASE": 3, + "BR_AUTO_EXPRESO": 81, + "BR_CONECTCAR": 7, + "BR_MOVE_MAIS": 8, + "BR_PASSA_RAPIDO": 88, + "BR_SEM_PARAR": 9, + "BR_TAGGY": 10, + "BR_VELOE": 11, + "CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD": 84, + "CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD": 85, + "CA_US_BLUE_WATER_EDGE_PASS": 18, + "CA_US_CONNEXION": 19, + "CA_US_NEXUS_CARD": 20, + "ID_E_TOLL": 16, + "IN_FASTAG": 78, + "IN_LOCAL_HP_PLATE_EXEMPT": 79, + "MX_IAVE": 90, + "MX_PASE": 91, + "MX_QUICKPASS": 93, + "MX_SISTEMA_TELEPEAJE_CHIHUAHUA": 89, + "MX_TAG_IAVE": 12, + "MX_TAG_TELEVIA": 13, + "MX_TELEVIA": 92, + "MX_VIAPASS": 14, + "US_AL_FREEDOM_PASS": 21, + "US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS": 22, + "US_CA_FASTRAK": 4, + "US_CA_FASTRAK_CAV_STICKER": 86, + "US_CO_EXPRESSTOLL": 23, + "US_CO_GO_PASS": 24, + "US_DE_EZPASSDE": 25, + "US_FL_BOB_SIKES_TOLL_BRIDGE_PASS": 65, + "US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD": 66, + "US_FL_EPASS": 67, + "US_FL_GIBA_TOLL_PASS": 68, + "US_FL_LEEWAY": 69, + "US_FL_SUNPASS": 70, + "US_FL_SUNPASS_PRO": 71, + "US_IL_EZPASSIL": 73, + "US_IL_IPASS": 72, + "US_IN_EZPASSIN": 26, + "US_KS_BESTPASS_HORIZON": 27, + "US_KS_KTAG": 28, + "US_KS_NATIONALPASS": 29, + "US_KS_PREPASS_ELITEPASS": 30, + "US_KY_RIVERLINK": 31, + "US_LA_GEAUXPASS": 32, + "US_LA_TOLL_TAG": 33, + "US_MA_EZPASSMA": 6, + "US_MD_EZPASSMD": 34, + "US_ME_EZPASSME": 35, + "US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD": 36, + "US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG": 37, + "US_MI_IQ_PROX_CARD": 38, + "US_MI_MACKINAC_BRIDGE_MAC_PASS": 39, + "US_MI_NEXPRESS_TOLL": 40, + "US_MN_EZPASSMN": 41, + "US_NC_EZPASSNC": 42, + "US_NC_PEACH_PASS": 87, + "US_NC_QUICK_PASS": 43, + "US_NH_EZPASSNH": 80, + "US_NJ_DOWNBEACH_EXPRESS_PASS": 75, + "US_NJ_EZPASSNJ": 74, + "US_NY_EXPRESSPASS": 76, + "US_NY_EZPASSNY": 77, + "US_OH_EZPASSOH": 44, + "US_PA_EZPASSPA": 45, + "US_RI_EZPASSRI": 46, + "US_SC_PALPASS": 47, + "US_TX_BANCPASS": 48, + "US_TX_DEL_RIO_PASS": 49, + "US_TX_EFAST_PASS": 50, + "US_TX_EAGLE_PASS_EXPRESS_CARD": 51, + "US_TX_EPTOLL": 52, + "US_TX_EZ_CROSS": 53, + "US_TX_EZTAG": 54, + "US_TX_LAREDO_TRADE_TAG": 55, + "US_TX_PLUSPASS": 56, + "US_TX_TOLLTAG": 57, + "US_TX_TXTAG": 58, + "US_TX_XPRESS_CARD": 59, + "US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD": 60, + "US_VA_EZPASSVA": 61, + "US_WA_BREEZEBY": 17, + "US_WA_GOOD_TO_GO": 1, + "US_WV_EZPASSWV": 62, + "US_WV_MEMORIAL_BRIDGE_TICKETS": 63, + "US_WV_NEWELL_TOLL_BRIDGE_TICKET": 64, + } +) + +func (x TollPass) Enum() *TollPass { + p := new(TollPass) + *p = x + return p +} + +func (x TollPass) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TollPass) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_toll_passes_proto_enumTypes[0].Descriptor() +} + +func (TollPass) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_toll_passes_proto_enumTypes[0] +} + +func (x TollPass) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TollPass.Descriptor instead. +func (TollPass) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_toll_passes_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_toll_passes_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_toll_passes_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x2a, 0x81, 0x11, 0x0a, 0x08, 0x54, 0x6f, 0x6c, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x12, + 0x19, 0x0a, 0x15, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x55, + 0x5f, 0x45, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x52, 0x12, 0x0f, 0x0a, 0x0b, + 0x41, 0x55, 0x5f, 0x45, 0x57, 0x41, 0x59, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x53, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x55, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x41, + 0x52, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x50, 0x41, 0x53, 0x45, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, + 0x42, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x4f, 0x10, + 0x51, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x45, 0x43, 0x54, 0x43, 0x41, + 0x52, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x52, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x4d, + 0x41, 0x49, 0x53, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x52, 0x5f, 0x50, 0x41, 0x53, 0x53, + 0x41, 0x5f, 0x52, 0x41, 0x50, 0x49, 0x44, 0x4f, 0x10, 0x58, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x52, + 0x5f, 0x53, 0x45, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x52, 0x10, 0x09, 0x12, 0x0c, 0x0a, 0x08, + 0x42, 0x52, 0x5f, 0x54, 0x41, 0x47, 0x47, 0x59, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x52, + 0x5f, 0x56, 0x45, 0x4c, 0x4f, 0x45, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x41, 0x5f, 0x55, + 0x53, 0x5f, 0x41, 0x4b, 0x57, 0x41, 0x53, 0x41, 0x53, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x57, + 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x52, 0x50, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x52, + 0x44, 0x10, 0x54, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x41, 0x5f, 0x55, 0x53, 0x5f, 0x41, 0x4b, 0x57, + 0x41, 0x53, 0x41, 0x53, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x57, 0x41, 0x59, 0x5f, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x55, 0x12, 0x1e, 0x0a, 0x1a, + 0x43, 0x41, 0x5f, 0x55, 0x53, 0x5f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x57, 0x41, 0x54, 0x45, 0x52, + 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, + 0x43, 0x41, 0x5f, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x58, 0x49, 0x4f, 0x4e, 0x10, + 0x13, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, 0x5f, 0x55, 0x53, 0x5f, 0x4e, 0x45, 0x58, 0x55, 0x53, + 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x14, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x44, 0x5f, 0x45, 0x5f, + 0x54, 0x4f, 0x4c, 0x4c, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x53, + 0x54, 0x41, 0x47, 0x10, 0x4e, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x4c, 0x5f, 0x48, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x45, 0x4d, 0x50, + 0x54, 0x10, 0x4f, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x58, 0x5f, 0x49, 0x41, 0x56, 0x45, 0x10, 0x5a, + 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x58, 0x5f, 0x50, 0x41, 0x53, 0x45, 0x10, 0x5b, 0x12, 0x10, 0x0a, + 0x0c, 0x4d, 0x58, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x50, 0x41, 0x53, 0x53, 0x10, 0x5d, 0x12, + 0x22, 0x0a, 0x1e, 0x4d, 0x58, 0x5f, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4d, 0x41, 0x5f, 0x54, 0x45, + 0x4c, 0x45, 0x50, 0x45, 0x41, 0x4a, 0x45, 0x5f, 0x43, 0x48, 0x49, 0x48, 0x55, 0x41, 0x48, 0x55, + 0x41, 0x10, 0x59, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x58, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x49, 0x41, + 0x56, 0x45, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x58, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x54, + 0x45, 0x4c, 0x45, 0x56, 0x49, 0x41, 0x10, 0x0d, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x58, 0x5f, 0x54, + 0x45, 0x4c, 0x45, 0x56, 0x49, 0x41, 0x10, 0x5c, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x58, 0x5f, 0x56, + 0x49, 0x41, 0x50, 0x41, 0x53, 0x53, 0x10, 0x0e, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x5f, 0x41, + 0x4c, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x44, 0x4f, 0x4d, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x15, + 0x12, 0x32, 0x0a, 0x2e, 0x55, 0x53, 0x5f, 0x41, 0x4b, 0x5f, 0x41, 0x4e, 0x54, 0x4f, 0x4e, 0x5f, + 0x41, 0x4e, 0x44, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, + 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x4f, 0x46, 0x5f, 0x31, 0x30, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, + 0x54, 0x53, 0x10, 0x16, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x5f, 0x46, 0x41, + 0x53, 0x54, 0x52, 0x41, 0x4b, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x5f, 0x43, 0x41, + 0x5f, 0x46, 0x41, 0x53, 0x54, 0x52, 0x41, 0x4b, 0x5f, 0x43, 0x41, 0x56, 0x5f, 0x53, 0x54, 0x49, + 0x43, 0x4b, 0x45, 0x52, 0x10, 0x56, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x5f, + 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x54, 0x4f, 0x4c, 0x4c, 0x10, 0x17, 0x12, 0x11, 0x0a, + 0x0d, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x5f, 0x47, 0x4f, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x18, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, + 0x44, 0x45, 0x10, 0x19, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x53, 0x5f, 0x46, 0x4c, 0x5f, 0x42, 0x4f, + 0x42, 0x5f, 0x53, 0x49, 0x4b, 0x45, 0x53, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x42, 0x52, 0x49, + 0x44, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x41, 0x12, 0x3a, 0x0a, 0x36, 0x55, 0x53, + 0x5f, 0x46, 0x4c, 0x5f, 0x44, 0x55, 0x4e, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, + 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x43, 0x41, 0x52, 0x44, 0x10, 0x42, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x53, 0x5f, 0x46, 0x4c, 0x5f, + 0x45, 0x50, 0x41, 0x53, 0x53, 0x10, 0x43, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, 0x5f, 0x46, 0x4c, + 0x5f, 0x47, 0x49, 0x42, 0x41, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, + 0x44, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x5f, 0x46, 0x4c, 0x5f, 0x4c, 0x45, 0x45, 0x57, 0x41, + 0x59, 0x10, 0x45, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x5f, 0x46, 0x4c, 0x5f, 0x53, 0x55, 0x4e, + 0x50, 0x41, 0x53, 0x53, 0x10, 0x46, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x5f, 0x46, 0x4c, 0x5f, + 0x53, 0x55, 0x4e, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x10, 0x47, 0x12, 0x12, 0x0a, + 0x0e, 0x55, 0x53, 0x5f, 0x49, 0x4c, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x49, 0x4c, 0x10, + 0x49, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x53, 0x5f, 0x49, 0x4c, 0x5f, 0x49, 0x50, 0x41, 0x53, 0x53, + 0x10, 0x48, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x5a, 0x50, 0x41, + 0x53, 0x53, 0x49, 0x4e, 0x10, 0x1a, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x53, 0x5f, 0x4b, 0x53, 0x5f, + 0x42, 0x45, 0x53, 0x54, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, + 0x10, 0x1b, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x53, 0x5f, 0x4b, 0x53, 0x5f, 0x4b, 0x54, 0x41, 0x47, + 0x10, 0x1c, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x5f, 0x4b, 0x53, 0x5f, 0x4e, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x50, 0x41, 0x53, 0x53, 0x10, 0x1d, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, + 0x5f, 0x4b, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x45, 0x4c, 0x49, 0x54, + 0x45, 0x50, 0x41, 0x53, 0x53, 0x10, 0x1e, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x53, 0x5f, 0x4b, 0x59, + 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x1f, 0x12, 0x13, 0x0a, 0x0f, + 0x55, 0x53, 0x5f, 0x4c, 0x41, 0x5f, 0x47, 0x45, 0x41, 0x55, 0x58, 0x50, 0x41, 0x53, 0x53, 0x10, + 0x20, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4c, 0x41, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, + 0x54, 0x41, 0x47, 0x10, 0x21, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4d, 0x41, 0x5f, 0x45, + 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4d, 0x41, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, + 0x4d, 0x44, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4d, 0x44, 0x10, 0x22, 0x12, 0x12, 0x0a, + 0x0e, 0x55, 0x53, 0x5f, 0x4d, 0x45, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4d, 0x45, 0x10, + 0x23, 0x12, 0x31, 0x0a, 0x2d, 0x55, 0x53, 0x5f, 0x4d, 0x49, 0x5f, 0x41, 0x4d, 0x42, 0x41, 0x53, + 0x53, 0x41, 0x44, 0x4f, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, + 0x4d, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, + 0x52, 0x44, 0x10, 0x24, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x53, 0x5f, 0x4d, 0x49, 0x5f, 0x47, 0x52, + 0x4f, 0x53, 0x53, 0x45, 0x5f, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x42, 0x52, + 0x49, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x25, 0x12, + 0x16, 0x0a, 0x12, 0x55, 0x53, 0x5f, 0x4d, 0x49, 0x5f, 0x49, 0x51, 0x5f, 0x50, 0x52, 0x4f, 0x58, + 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x26, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x53, 0x5f, 0x4d, 0x49, + 0x5f, 0x4d, 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x41, 0x43, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, + 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x27, 0x12, 0x17, 0x0a, 0x13, 0x55, + 0x53, 0x5f, 0x4d, 0x49, 0x5f, 0x4e, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, + 0x4c, 0x4c, 0x10, 0x28, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4d, 0x4e, 0x5f, 0x45, 0x5a, + 0x50, 0x41, 0x53, 0x53, 0x4d, 0x4e, 0x10, 0x29, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4e, + 0x43, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4e, 0x43, 0x10, 0x2a, 0x12, 0x14, 0x0a, 0x10, + 0x55, 0x53, 0x5f, 0x4e, 0x43, 0x5f, 0x50, 0x45, 0x41, 0x43, 0x48, 0x5f, 0x50, 0x41, 0x53, 0x53, + 0x10, 0x57, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x5f, 0x4e, 0x43, 0x5f, 0x51, 0x55, 0x49, 0x43, + 0x4b, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x2b, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4e, + 0x48, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4e, 0x48, 0x10, 0x50, 0x12, 0x20, 0x0a, 0x1c, + 0x55, 0x53, 0x5f, 0x4e, 0x4a, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x42, 0x45, 0x41, 0x43, 0x48, 0x5f, + 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x4b, 0x12, 0x12, + 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x4e, 0x4a, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4e, 0x4a, + 0x10, 0x4a, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x5f, 0x4e, 0x59, 0x5f, 0x45, 0x58, 0x50, 0x52, + 0x45, 0x53, 0x53, 0x50, 0x41, 0x53, 0x53, 0x10, 0x4c, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, + 0x4e, 0x59, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4e, 0x59, 0x10, 0x4d, 0x12, 0x12, 0x0a, + 0x0e, 0x55, 0x53, 0x5f, 0x4f, 0x48, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x4f, 0x48, 0x10, + 0x2c, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, + 0x53, 0x50, 0x41, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x52, 0x49, 0x5f, 0x45, + 0x5a, 0x50, 0x41, 0x53, 0x53, 0x52, 0x49, 0x10, 0x2e, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x5f, + 0x53, 0x43, 0x5f, 0x50, 0x41, 0x4c, 0x50, 0x41, 0x53, 0x53, 0x10, 0x2f, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x42, 0x41, 0x4e, 0x43, 0x50, 0x41, 0x53, 0x53, 0x10, 0x30, + 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x44, 0x45, 0x4c, 0x5f, 0x52, 0x49, + 0x4f, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x31, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x5f, 0x54, + 0x58, 0x5f, 0x45, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x32, 0x12, 0x21, + 0x0a, 0x1d, 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x45, 0x41, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, + 0x53, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, + 0x33, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x45, 0x50, 0x54, 0x4f, 0x4c, + 0x4c, 0x10, 0x34, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x45, 0x5a, 0x5f, + 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0x35, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x53, 0x5f, 0x54, 0x58, + 0x5f, 0x45, 0x5a, 0x54, 0x41, 0x47, 0x10, 0x36, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x53, 0x5f, 0x54, + 0x58, 0x5f, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x54, + 0x41, 0x47, 0x10, 0x37, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x50, 0x4c, + 0x55, 0x53, 0x50, 0x41, 0x53, 0x53, 0x10, 0x38, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x5f, 0x54, + 0x58, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x54, 0x41, 0x47, 0x10, 0x39, 0x12, 0x0f, 0x0a, 0x0b, 0x55, + 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x54, 0x58, 0x54, 0x41, 0x47, 0x10, 0x3a, 0x12, 0x15, 0x0a, 0x11, + 0x55, 0x53, 0x5f, 0x54, 0x58, 0x5f, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x52, + 0x44, 0x10, 0x3b, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x5f, 0x55, 0x54, 0x5f, 0x41, 0x44, 0x41, + 0x4d, 0x53, 0x5f, 0x41, 0x56, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x4b, 0x57, 0x41, 0x59, 0x5f, 0x45, + 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x3c, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x53, 0x5f, 0x56, 0x41, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x56, 0x41, 0x10, 0x3d, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, 0x5f, 0x57, 0x41, 0x5f, 0x42, 0x52, 0x45, 0x45, 0x5a, 0x45, + 0x42, 0x59, 0x10, 0x11, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x5f, 0x57, 0x41, 0x5f, 0x47, 0x4f, + 0x4f, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, + 0x5f, 0x57, 0x56, 0x5f, 0x45, 0x5a, 0x50, 0x41, 0x53, 0x53, 0x57, 0x56, 0x10, 0x3e, 0x12, 0x21, + 0x0a, 0x1d, 0x55, 0x53, 0x5f, 0x57, 0x56, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x49, 0x41, 0x4c, + 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x53, 0x10, + 0x3f, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x53, 0x5f, 0x57, 0x56, 0x5f, 0x4e, 0x45, 0x57, 0x45, 0x4c, + 0x4c, 0x5f, 0x54, 0x4f, 0x4c, 0x4c, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x54, 0x49, + 0x43, 0x4b, 0x45, 0x54, 0x10, 0x40, 0x42, 0xc7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x54, 0x6f, 0x6c, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x65, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, + 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, + 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_toll_passes_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_toll_passes_proto_rawDescData = file_google_maps_routing_v2_toll_passes_proto_rawDesc +) + +func file_google_maps_routing_v2_toll_passes_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_toll_passes_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_toll_passes_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_toll_passes_proto_rawDescData) + }) + return file_google_maps_routing_v2_toll_passes_proto_rawDescData +} + +var file_google_maps_routing_v2_toll_passes_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_toll_passes_proto_goTypes = []interface{}{ + (TollPass)(0), // 0: google.maps.routing.v2.TollPass +} +var file_google_maps_routing_v2_toll_passes_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_toll_passes_proto_init() } +func file_google_maps_routing_v2_toll_passes_proto_init() { + if File_google_maps_routing_v2_toll_passes_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_toll_passes_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_toll_passes_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_toll_passes_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_toll_passes_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_toll_passes_proto = out.File + file_google_maps_routing_v2_toll_passes_proto_rawDesc = nil + file_google_maps_routing_v2_toll_passes_proto_goTypes = nil + file_google_maps_routing_v2_toll_passes_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/units.pb.go b/maps/routing/apiv2/routingpb/units.pb.go new file mode 100644 index 00000000000..401f3c911e0 --- /dev/null +++ b/maps/routing/apiv2/routingpb/units.pb.go @@ -0,0 +1,165 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/units.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values that specify the unit of measure used in the display. +type Units int32 + +const ( + // Units of measure not specified. Defaults to the unit of measure inferred + // from the request. + Units_UNITS_UNSPECIFIED Units = 0 + // Metric units of measure. + Units_METRIC Units = 1 + // Imperial (English) units of measure. + Units_IMPERIAL Units = 2 +) + +// Enum value maps for Units. +var ( + Units_name = map[int32]string{ + 0: "UNITS_UNSPECIFIED", + 1: "METRIC", + 2: "IMPERIAL", + } + Units_value = map[string]int32{ + "UNITS_UNSPECIFIED": 0, + "METRIC": 1, + "IMPERIAL": 2, + } +) + +func (x Units) Enum() *Units { + p := new(Units) + *p = x + return p +} + +func (x Units) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Units) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_units_proto_enumTypes[0].Descriptor() +} + +func (Units) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_units_proto_enumTypes[0] +} + +func (x Units) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Units.Descriptor instead. +func (Units) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_units_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_units_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_units_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2a, 0x38, 0x0a, 0x05, + 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x49, 0x54, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x45, + 0x52, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x42, 0xc2, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, + 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_units_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_units_proto_rawDescData = file_google_maps_routing_v2_units_proto_rawDesc +) + +func file_google_maps_routing_v2_units_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_units_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_units_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_units_proto_rawDescData) + }) + return file_google_maps_routing_v2_units_proto_rawDescData +} + +var file_google_maps_routing_v2_units_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_units_proto_goTypes = []interface{}{ + (Units)(0), // 0: google.maps.routing.v2.Units +} +var file_google_maps_routing_v2_units_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_units_proto_init() } +func file_google_maps_routing_v2_units_proto_init() { + if File_google_maps_routing_v2_units_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_units_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_units_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_units_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_units_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_units_proto = out.File + file_google_maps_routing_v2_units_proto_rawDesc = nil + file_google_maps_routing_v2_units_proto_goTypes = nil + file_google_maps_routing_v2_units_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/vehicle_emission_type.pb.go b/maps/routing/apiv2/routingpb/vehicle_emission_type.pb.go new file mode 100644 index 00000000000..f04e746c22a --- /dev/null +++ b/maps/routing/apiv2/routingpb/vehicle_emission_type.pb.go @@ -0,0 +1,178 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/vehicle_emission_type.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A set of values describing the vehicle's emission type. +// Applies only to the DRIVE travel mode. +type VehicleEmissionType int32 + +const ( + // No emission type specified. Default to GASOLINE. + VehicleEmissionType_VEHICLE_EMISSION_TYPE_UNSPECIFIED VehicleEmissionType = 0 + // Gasoline/petrol fueled vehicle. + VehicleEmissionType_GASOLINE VehicleEmissionType = 1 + // Electricity powered vehicle. + VehicleEmissionType_ELECTRIC VehicleEmissionType = 2 + // Hybrid fuel (such as gasoline + electric) vehicle. + VehicleEmissionType_HYBRID VehicleEmissionType = 3 + // Diesel fueled vehicle. + VehicleEmissionType_DIESEL VehicleEmissionType = 4 +) + +// Enum value maps for VehicleEmissionType. +var ( + VehicleEmissionType_name = map[int32]string{ + 0: "VEHICLE_EMISSION_TYPE_UNSPECIFIED", + 1: "GASOLINE", + 2: "ELECTRIC", + 3: "HYBRID", + 4: "DIESEL", + } + VehicleEmissionType_value = map[string]int32{ + "VEHICLE_EMISSION_TYPE_UNSPECIFIED": 0, + "GASOLINE": 1, + "ELECTRIC": 2, + "HYBRID": 3, + "DIESEL": 4, + } +) + +func (x VehicleEmissionType) Enum() *VehicleEmissionType { + p := new(VehicleEmissionType) + *p = x + return p +} + +func (x VehicleEmissionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VehicleEmissionType) Descriptor() protoreflect.EnumDescriptor { + return file_google_maps_routing_v2_vehicle_emission_type_proto_enumTypes[0].Descriptor() +} + +func (VehicleEmissionType) Type() protoreflect.EnumType { + return &file_google_maps_routing_v2_vehicle_emission_type_proto_enumTypes[0] +} + +func (x VehicleEmissionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VehicleEmissionType.Descriptor instead. +func (VehicleEmissionType) EnumDescriptor() ([]byte, []int) { + return file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescGZIP(), []int{0} +} + +var File_google_maps_routing_v2_vehicle_emission_type_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_vehicle_emission_type_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, + 0x5f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, + 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2a, 0x70, 0x0a, 0x13, + 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x45, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x41, + 0x53, 0x4f, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4c, 0x45, 0x43, + 0x54, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44, + 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x45, 0x53, 0x45, 0x4c, 0x10, 0x04, 0x42, 0xd0, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, + 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x18, 0x56, + 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, + 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, + 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, + 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, + 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescData = file_google_maps_routing_v2_vehicle_emission_type_proto_rawDesc +) + +func file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescData) + }) + return file_google_maps_routing_v2_vehicle_emission_type_proto_rawDescData +} + +var file_google_maps_routing_v2_vehicle_emission_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_maps_routing_v2_vehicle_emission_type_proto_goTypes = []interface{}{ + (VehicleEmissionType)(0), // 0: google.maps.routing.v2.VehicleEmissionType +} +var file_google_maps_routing_v2_vehicle_emission_type_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_vehicle_emission_type_proto_init() } +func file_google_maps_routing_v2_vehicle_emission_type_proto_init() { + if File_google_maps_routing_v2_vehicle_emission_type_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_vehicle_emission_type_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_vehicle_emission_type_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_vehicle_emission_type_proto_depIdxs, + EnumInfos: file_google_maps_routing_v2_vehicle_emission_type_proto_enumTypes, + }.Build() + File_google_maps_routing_v2_vehicle_emission_type_proto = out.File + file_google_maps_routing_v2_vehicle_emission_type_proto_rawDesc = nil + file_google_maps_routing_v2_vehicle_emission_type_proto_goTypes = nil + file_google_maps_routing_v2_vehicle_emission_type_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/vehicle_info.pb.go b/maps/routing/apiv2/routingpb/vehicle_info.pb.go new file mode 100644 index 00000000000..d01fb99ec93 --- /dev/null +++ b/maps/routing/apiv2/routingpb/vehicle_info.pb.go @@ -0,0 +1,185 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/vehicle_info.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates the vehicle information, such as the license plate last +// character. +type VehicleInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Describes the vehicle's emission type. + // Applies only to the DRIVE travel mode. + EmissionType VehicleEmissionType `protobuf:"varint,2,opt,name=emission_type,json=emissionType,proto3,enum=google.maps.routing.v2.VehicleEmissionType" json:"emission_type,omitempty"` +} + +func (x *VehicleInfo) Reset() { + *x = VehicleInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_vehicle_info_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VehicleInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VehicleInfo) ProtoMessage() {} + +func (x *VehicleInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_vehicle_info_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VehicleInfo.ProtoReflect.Descriptor instead. +func (*VehicleInfo) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_vehicle_info_proto_rawDescGZIP(), []int{0} +} + +func (x *VehicleInfo) GetEmissionType() VehicleEmissionType { + if x != nil { + return x.EmissionType + } + return VehicleEmissionType_VEHICLE_EMISSION_TYPE_UNSPECIFIED +} + +var File_google_maps_routing_v2_vehicle_info_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_vehicle_info_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, + 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x68, 0x69, + 0x63, 0x6c, 0x65, 0x5f, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x56, 0x65, 0x68, 0x69, 0x63, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x0d, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x65, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0xc8, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x05, + 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x4d, + 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x32, 0xca, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, 0x73, 0x5c, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_vehicle_info_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_vehicle_info_proto_rawDescData = file_google_maps_routing_v2_vehicle_info_proto_rawDesc +) + +func file_google_maps_routing_v2_vehicle_info_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_vehicle_info_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_vehicle_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_vehicle_info_proto_rawDescData) + }) + return file_google_maps_routing_v2_vehicle_info_proto_rawDescData +} + +var file_google_maps_routing_v2_vehicle_info_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_vehicle_info_proto_goTypes = []interface{}{ + (*VehicleInfo)(nil), // 0: google.maps.routing.v2.VehicleInfo + (VehicleEmissionType)(0), // 1: google.maps.routing.v2.VehicleEmissionType +} +var file_google_maps_routing_v2_vehicle_info_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.VehicleInfo.emission_type:type_name -> google.maps.routing.v2.VehicleEmissionType + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_vehicle_info_proto_init() } +func file_google_maps_routing_v2_vehicle_info_proto_init() { + if File_google_maps_routing_v2_vehicle_info_proto != nil { + return + } + file_google_maps_routing_v2_vehicle_emission_type_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_vehicle_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VehicleInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_vehicle_info_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_vehicle_info_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_vehicle_info_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_vehicle_info_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_vehicle_info_proto = out.File + file_google_maps_routing_v2_vehicle_info_proto_rawDesc = nil + file_google_maps_routing_v2_vehicle_info_proto_goTypes = nil + file_google_maps_routing_v2_vehicle_info_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/routingpb/waypoint.pb.go b/maps/routing/apiv2/routingpb/waypoint.pb.go new file mode 100644 index 00000000000..dfc311eb07b --- /dev/null +++ b/maps/routing/apiv2/routingpb/waypoint.pb.go @@ -0,0 +1,278 @@ +// Copyright 2022 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.19.4 +// source: google/maps/routing/v2/waypoint.proto + +package routingpb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encapsulates a waypoint. Waypoints mark both the beginning and end of a +// route, and include intermediate stops along the route. +type Waypoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Different ways to represent a location. + // + // Types that are assignable to LocationType: + // + // *Waypoint_Location + // *Waypoint_PlaceId + LocationType isWaypoint_LocationType `protobuf_oneof:"location_type"` + // Marks this waypoint as a milestone rather a stopping point. For + // each non-via waypoint in the request, the response appends an entry to the + // `legs` array to provide the details for stopovers on that leg of the + // trip. Set this value to true when you want the route to pass through this + // waypoint without stopping over. Via waypoints don't cause an entry to be + // added to the `legs` array, but they do route the journey through the + // waypoint. You can only set this value on waypoints that are intermediates. + // The request fails if you set this field on terminal waypoints. + // If `ComputeRoutesRequest.optimize_waypoint_order` + // is set to true then this field cannot be set to + // true; otherwise, the request fails. + Via bool `protobuf:"varint,3,opt,name=via,proto3" json:"via,omitempty"` + // Indicates that the waypoint is meant for vehicles to stop at, where the + // intention is to either pickup or drop-off. When you set this value, the + // calculated route won't include non-`via` waypoints on roads that are + // unsuitable for pickup and drop-off. This option works only for `DRIVE` and + // `TWO_WHEELER` travel modes, and when the `location_type` is `location`. + VehicleStopover bool `protobuf:"varint,4,opt,name=vehicle_stopover,json=vehicleStopover,proto3" json:"vehicle_stopover,omitempty"` + // Indicates that the location of this waypoint is meant to have a preference + // for the vehicle to stop at a particular side of road. When you set this + // value, the route will pass through the location so that the vehicle can + // stop at the side of road that the location is biased towards from the + // center of the road. This option works only for 'DRIVE' and 'TWO_WHEELER' + // travel modes. + SideOfRoad bool `protobuf:"varint,5,opt,name=side_of_road,json=sideOfRoad,proto3" json:"side_of_road,omitempty"` +} + +func (x *Waypoint) Reset() { + *x = Waypoint{} + if protoimpl.UnsafeEnabled { + mi := &file_google_maps_routing_v2_waypoint_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Waypoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Waypoint) ProtoMessage() {} + +func (x *Waypoint) ProtoReflect() protoreflect.Message { + mi := &file_google_maps_routing_v2_waypoint_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Waypoint.ProtoReflect.Descriptor instead. +func (*Waypoint) Descriptor() ([]byte, []int) { + return file_google_maps_routing_v2_waypoint_proto_rawDescGZIP(), []int{0} +} + +func (m *Waypoint) GetLocationType() isWaypoint_LocationType { + if m != nil { + return m.LocationType + } + return nil +} + +func (x *Waypoint) GetLocation() *Location { + if x, ok := x.GetLocationType().(*Waypoint_Location); ok { + return x.Location + } + return nil +} + +func (x *Waypoint) GetPlaceId() string { + if x, ok := x.GetLocationType().(*Waypoint_PlaceId); ok { + return x.PlaceId + } + return "" +} + +func (x *Waypoint) GetVia() bool { + if x != nil { + return x.Via + } + return false +} + +func (x *Waypoint) GetVehicleStopover() bool { + if x != nil { + return x.VehicleStopover + } + return false +} + +func (x *Waypoint) GetSideOfRoad() bool { + if x != nil { + return x.SideOfRoad + } + return false +} + +type isWaypoint_LocationType interface { + isWaypoint_LocationType() +} + +type Waypoint_Location struct { + // A point specified using geographic coordinates, including an optional + // heading. + Location *Location `protobuf:"bytes,1,opt,name=location,proto3,oneof"` +} + +type Waypoint_PlaceId struct { + // The POI Place ID associated with the waypoint. + PlaceId string `protobuf:"bytes,2,opt,name=place_id,json=placeId,proto3,oneof"` +} + +func (*Waypoint_Location) isWaypoint_LocationType() {} + +func (*Waypoint_PlaceId) isWaypoint_LocationType() {} + +var File_google_maps_routing_v2_waypoint_proto protoreflect.FileDescriptor + +var file_google_maps_routing_v2_waypoint_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, + 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6d, + 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x76, 0x69, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x76, + 0x69, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x74, + 0x6f, 0x70, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x76, 0x65, + 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x20, 0x0a, + 0x0c, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x72, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x69, 0x64, 0x65, 0x4f, 0x66, 0x52, 0x6f, 0x61, 0x64, 0x42, + 0x0f, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0xc5, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, + 0x0d, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xf8, + 0x01, 0x01, 0xa2, 0x02, 0x05, 0x47, 0x4d, 0x52, 0x56, 0x32, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x4d, 0x61, 0x70, + 0x73, 0x5c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x4d, 0x61, 0x70, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_maps_routing_v2_waypoint_proto_rawDescOnce sync.Once + file_google_maps_routing_v2_waypoint_proto_rawDescData = file_google_maps_routing_v2_waypoint_proto_rawDesc +) + +func file_google_maps_routing_v2_waypoint_proto_rawDescGZIP() []byte { + file_google_maps_routing_v2_waypoint_proto_rawDescOnce.Do(func() { + file_google_maps_routing_v2_waypoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_routing_v2_waypoint_proto_rawDescData) + }) + return file_google_maps_routing_v2_waypoint_proto_rawDescData +} + +var file_google_maps_routing_v2_waypoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_maps_routing_v2_waypoint_proto_goTypes = []interface{}{ + (*Waypoint)(nil), // 0: google.maps.routing.v2.Waypoint + (*Location)(nil), // 1: google.maps.routing.v2.Location +} +var file_google_maps_routing_v2_waypoint_proto_depIdxs = []int32{ + 1, // 0: google.maps.routing.v2.Waypoint.location:type_name -> google.maps.routing.v2.Location + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_maps_routing_v2_waypoint_proto_init() } +func file_google_maps_routing_v2_waypoint_proto_init() { + if File_google_maps_routing_v2_waypoint_proto != nil { + return + } + file_google_maps_routing_v2_location_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_maps_routing_v2_waypoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Waypoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_maps_routing_v2_waypoint_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Waypoint_Location)(nil), + (*Waypoint_PlaceId)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_maps_routing_v2_waypoint_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_maps_routing_v2_waypoint_proto_goTypes, + DependencyIndexes: file_google_maps_routing_v2_waypoint_proto_depIdxs, + MessageInfos: file_google_maps_routing_v2_waypoint_proto_msgTypes, + }.Build() + File_google_maps_routing_v2_waypoint_proto = out.File + file_google_maps_routing_v2_waypoint_proto_rawDesc = nil + file_google_maps_routing_v2_waypoint_proto_goTypes = nil + file_google_maps_routing_v2_waypoint_proto_depIdxs = nil +} diff --git a/maps/routing/apiv2/version.go b/maps/routing/apiv2/version.go new file mode 100644 index 00000000000..814fcccafb0 --- /dev/null +++ b/maps/routing/apiv2/version.go @@ -0,0 +1,23 @@ +// Copyright 2022 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. + +// Code generated by gapicgen. DO NOT EDIT. + +package routing + +import "cloud.google.com/go/maps/internal" + +func init() { + versionClient = internal.Version +}