Show / Hide Table of Contents

Class Routes.RoutesBase

Base class for server-side implementations of Routes

Inheritance
object
Routes.RoutesBase
Inherited Members
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ToString()
Namespace: Google.Maps.Routing.V2
Assembly: Google.Maps.Routing.V2.dll
Syntax
[BindServiceMethod(typeof(Routes), "BindService")]
public abstract class Routes.RoutesBase

Methods

ComputeRouteMatrix(ComputeRouteMatrixRequest, IServerStreamWriter<RouteMatrixElement>, ServerCallContext)

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). The value is a comma separated list of field paths. See this detailed documentation about how to construct the field paths.

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.
Declaration
public virtual Task ComputeRouteMatrix(ComputeRouteMatrixRequest request, IServerStreamWriter<RouteMatrixElement> responseStream, ServerCallContext context)
Parameters
Type Name Description
ComputeRouteMatrixRequest request

The request received from the client.

IServerStreamWriter<RouteMatrixElement> responseStream

Used for sending responses back to the client.

ServerCallContext context

The context of the server-side call handler being invoked.

Returns
Type Description
Task

A task indicating completion of the handler.

ComputeRoutes(ComputeRoutesRequest, ServerCallContext)

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). The value is a comma separated list of field paths. See detailed documentation about how to construct the field paths.

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.
Declaration
public virtual Task<ComputeRoutesResponse> ComputeRoutes(ComputeRoutesRequest request, ServerCallContext context)
Parameters
Type Name Description
ComputeRoutesRequest request

The request received from the client.

ServerCallContext context

The context of the server-side call handler being invoked.

Returns
Type Description
Task<ComputeRoutesResponse>

The response to send back to the client (wrapped by a task).

In this article
Back to top Generated by DocFX