Documentation ¶
Overview ¶
Package routing is an auto-generated package for the Routes API.
routes.googleapis.com (at http://routes.googleapis.com) API.
General documentation ¶
For information that is relevant for all client libraries please reference https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this page includes:
- Authentication and Authorization
- Timeouts and Cancellation
- Testing against Client Libraries
- Debugging Client Libraries
- Inspecting errors
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.
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.
Index ¶
- func DefaultAuthScopes() []string
- type RoutesCallOptions
- type RoutesClient
- func (c *RoutesClient) Close() error
- func (c *RoutesClient) ComputeRouteMatrix(ctx context.Context, req *routingpb.ComputeRouteMatrixRequest, ...) (routingpb.Routes_ComputeRouteMatrixClient, error)
- func (c *RoutesClient) ComputeRoutes(ctx context.Context, req *routingpb.ComputeRoutesRequest, ...) (*routingpb.ComputeRoutesResponse, error)
- func (c *RoutesClient) Connection() *grpc.ClientConndeprecated
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultAuthScopes ¶
func DefaultAuthScopes() []string
DefaultAuthScopes reports the default set of authentication scopes to use with this package.
Types ¶
type RoutesCallOptions ¶
type RoutesCallOptions struct { ComputeRoutes []gax.CallOption ComputeRouteMatrix []gax.CallOption }
RoutesCallOptions contains the retry settings for each method of RoutesClient.
type RoutesClient ¶
type RoutesClient struct { // The call options for this service. CallOptions *RoutesCallOptions // contains filtered or unexported fields }
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.
func NewRoutesClient ¶
func NewRoutesClient(ctx context.Context, opts ...option.ClientOption) (*RoutesClient, error)
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.
Example ¶
package main import ( "context" routing "cloud.google.com/go/maps/routing/apiv2" ) func main() { 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 }
Output:
func NewRoutesRESTClient ¶ added in v0.2.0
func NewRoutesRESTClient(ctx context.Context, opts ...option.ClientOption) (*RoutesClient, error)
NewRoutesRESTClient creates a new routes rest client.
The Routes API.
Example ¶
package main import ( "context" routing "cloud.google.com/go/maps/routing/apiv2" ) func main() { 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.NewRoutesRESTClient(ctx) if err != nil { // TODO: Handle error. } defer c.Close() // TODO: Use client. _ = c }
Output:
func (*RoutesClient) Close ¶
func (c *RoutesClient) Close() error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*RoutesClient) ComputeRouteMatrix ¶
func (c *RoutesClient) ComputeRouteMatrix(ctx context.Context, req *routingpb.ComputeRouteMatrixRequest, opts ...gax.CallOption) (routingpb.Routes_ComputeRouteMatrixClient, error)
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 (*RoutesClient) ComputeRoutes ¶
func (c *RoutesClient) ComputeRoutes(ctx context.Context, req *routingpb.ComputeRoutesRequest, opts ...gax.CallOption) (*routingpb.ComputeRoutesResponse, error)
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.
Example ¶
package main import ( "context" routing "cloud.google.com/go/maps/routing/apiv2" routingpb "cloud.google.com/go/maps/routing/apiv2/routingpb" ) func main() { 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 }
Output:
func (*RoutesClient) Connection
deprecated
func (c *RoutesClient) Connection() *grpc.ClientConn
Connection returns a connection to the API service.
Deprecated: Connections are now pooled so this method does not always return the same resource.