Azure Maps Common client library for .NET - version 1.0.0-beta.4

Azure Maps is a Microsoft-managed service providing maps service that is...

The Azure.Maps.Common library provides infrastructure shared across other Azure Maps client libraries.

Source code | API reference documentation | Product documentation

Getting started

Install the package

Install the Azure Maps client library for .NET you'd like to use with NuGet and the Azure.Maps.Common client library will be included. Choose the packages you want to install:

dotnet add package Azure.Maps.Search --prerelease
dotnet add package Azure.Maps.Routing --prerelease
dotnet add package Azure.Maps.Rendering --prerelease
dotnet add package Azure.Maps.Geolocation --prerelease


You must have an Azure subscription and Azure Maps account.

To create a new Azure Maps account, you can use the Azure Portal, Azure PowerShell, or the Azure CLI. Here's an example using the Azure CLI:

az maps account create --kind "Gen2" --account-name "myMapAccountName" --resource-group "<resource group>" --sku "G2"

Authenticate the client

There are 2 ways to authenticate the client: Shared key authentication and Azure AD. Please refer to other Azure Maps packages for detailed description.

Key concepts

The Azure Maps Common client library contains shared infrastructure like LocalizedMapView and RequestFailedException.

Thread safety

We guarantee that all client instance methods are thread-safe and independent of each other (guideline). This ensures that the recommendation of reusing client instances is always safe, even across threads.

Additional concepts

Client options | Accessing the response | Long-running operations | Handling failures | Diagnostics | Mocking | Client lifetime


Please see the examples for Search, Routing, Rendering and Geolocation.


If instantiate a null LocalizedMapView, the program will throw a ArgumentNullException error.

Next steps

Get started with our Search, Routing, Rendering and Geolocation samples.


See the for details on building, testing, and contributing to this library.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit <>.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.