Google.Maps.Routing.V2

Google.Maps.Routing.V2 is a.NET client library for the Maps Routing API, which is currently in private preview.

Note: This documentation is for version 1.0.0 of the library. Some samples may not work with other versions.

Installation

Install the Google.Maps.Routing.V2 package from NuGet. Add it to your project in the normal way (for example by right-clicking on the project in Visual Studio and choosing "Manage NuGet Packages...").

Authentication

When running on Google Cloud, no action needs to be taken to authenticate.

Otherwise, the simplest way of authenticating your API calls is to set up Application Default Credentials. The credentials will automatically be used to authenticate. See Set up Application Default Credentials for more details.

Getting started

All operations are performed through RoutesClient.

Create a client instance by calling the static Create or CreateAsync methods. Alternatively, use the builder class associated with each client class (e.g. RoutesClientBuilder for RoutesClient) as an easy way of specifying custom credentials, settings, or a custom endpoint. Clients are thread-safe, and we recommend using a single instance across your entire application unless you have a particular need to configure multiple client objects separately.

Using the REST (HTTP/1.1) transport

This library defaults to performing RPCs using gRPC using the binary Protocol Buffer wire format. However, it also supports HTTP/1.1 and JSON, for situations where gRPC doesn't work as desired. (This is typically due to an incompatible proxy or other network issue.) To create a client using HTTP/1.1, specify a RestGrpcAdapter reference for the GrpcAdapter property in the client builder. Sample code:

var client = new RoutesClientBuilder
{
    GrpcAdapter = RestGrpcAdapter.Default
}.Build();

For more details, see the transport selection page.

Specifying a field mask

Some methods within this API require a field mask header in each request, to select which fields should be returned. The value * can be used to return all fields. In the .NET client library, the header can be added using a CallSettings object, as shown in the example below.

RoutesClient client = RoutesClient.Create();
CallSettings callSettings = CallSettings.FromHeader("X-Goog-FieldMask", "*");
ComputeRoutesRequest request = new ComputeRoutesRequest
{
    Origin = new Waypoint
    {
        Location = new Location { LatLng = new LatLng { Latitude = 37.419734, Longitude = -122.0827784 } }
    },
    Destination = new Waypoint
    {
        Location = new Location { LatLng = new LatLng { Latitude = 37.417670, Longitude = -122.079595 } }
    },
    TravelMode = RouteTravelMode.Drive,
    RoutingPreference = RoutingPreference.TrafficAware
};
ComputeRoutesResponse response = client.ComputeRoutes(request, callSettings);
Console.WriteLine(response);
In this article
Back to top Generated by DocFX