1---2name: azure-maps3description: Expert knowledge for Azure Maps development including best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, and integrations & coding patterns. Use when using web/REST/Power BI SDKs, geocoding/routing/weather APIs, tiles/rendering, or multi-stop route optimization, and other Azure Maps related development tasks. Not for Azure AI Search (use azure-cognitive-search), Azure IoT (use azure-iot), Azure IoT Central (use azure-iot-central), Azure IoT Edge (use azure-iot-edge).4---5# Azure Maps Skill
6
7This skill provides expert guidance for Azure Maps. Covers best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, and integrations & coding patterns. It combines local quick-reference content with remote documentation fetching capabilities.
8
9## How to Use This Skill
10
11> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file
12
13> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)
14
15This skill requires **network access** to fetch documentation content:
16- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.
17- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.
18
19## Category Index
20
21| Category | Lines | Description |
22|----------|-------|-------------|
23| Best Practices | L35-L45 | Best practices for Azure Maps apps: auth/security, routing and search usage, static image rendering, performance tuning, accessibility, and correct copyright/attribution. |
24| Decision Making | L46-L57 | Guidance on pricing, billing, and migrating maps apps to Azure Maps from Bing, Google, Power BI visuals, and older Azure Maps APIs, including routing, tiles, and search replacements |
25| Architecture & Design Patterns | L58-L63 | Designing Azure architectures for elevation data services and multi-itinerary route optimization using Azure Maps, open DEM data, and NVIDIA cuOpt for scalable geospatial solutions |
26| Limits & Quotas | L64-L73 | Coverage, limits, and capabilities of Azure Maps services: QPS rate limits, and regional support for geocoding, rendering/tiles, routing, traffic, and weather data. |
27| Security | L74-L88 | Securing Azure Maps access: auth methods (keys, SAS, Entra ID), SPA/daemon/device scenarios, Power BI visual governance, and network isolation with Private Link. |
28| Configuration | L89-L113 | Configuring Azure Maps web maps, styles, layers, data sources, routing models, localization, browser support, and migrating or updating to newer Azure Maps APIs and services. |
29| Integrations & Coding Patterns | L114-L174 | Patterns and code for integrating Azure Maps: Web/REST/Power BI SDK usage, layers and drawing, geocoding/routing/weather, Spatial IO/WMS, and migrations from Bing/Google/legacy SDKs. |
30
31### Best Practices
32| Topic | URL |
33|-------|-----|
34| Apply authentication best practices for Azure Maps apps | https://learn.microsoft.com/en-us/azure/azure-maps/authentication-best-practices |
35| Render custom data on Azure Maps static raster images | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-render-custom-data |
36| Show required Azure Maps copyright attribution correctly | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-show-attribution |
37| Apply best practices for Azure Maps Route service | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-best-practices-for-routing |
38| Apply best practices for Azure Maps Search | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-best-practices-for-search |
39| Implement accessibility features in Azure Maps apps | https://learn.microsoft.com/en-us/azure/azure-maps/map-accessibility |
40| Optimize performance with Azure Maps Web SDK best practices | https://learn.microsoft.com/en-us/azure/azure-maps/web-sdk-best-practices |
41
42### Decision Making
43| Topic | URL |
44|-------|-----|
45| Select and manage Azure Maps pricing tiers | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-pricing-tier |
46| Plan migration from Bing Maps Enterprise to Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-bing-maps-overview |
47| Migrate Bing Truck Route API to Azure Maps routing | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-calculate-truck-route |
48| Decide how to migrate from Google Maps to Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-from-google-maps |
49| Migrate Bing Get Imagery Metadata to Azure Maps tiles | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-get-imagery-metadata |
50| Choose Azure Maps and Azure services to replace Bing SDS | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-sds-data-source-management |
51| Convert Power BI Map visuals to Azure Maps visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-conversion |
52| Interpret Azure Maps transaction billing and usage | https://learn.microsoft.com/en-us/azure/azure-maps/understanding-azure-maps-transactions |
53
54### Architecture & Design Patterns
55| Topic | URL |
56|-------|-----|
57| Build elevation data services on Azure using open DEM data | https://learn.microsoft.com/en-us/azure/azure-maps/elevation-data-services |
58| Architect a multi-itinerary optimization service with Azure Maps and NVIDIA cuOpt | https://learn.microsoft.com/en-us/azure/azure-maps/itinerary-optimization-service |
59
60### Limits & Quotas
61| Topic | URL |
62|-------|-----|
63| Understand Azure Maps QPS rate limits by pricing tier | https://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-qps-rate-limits |
64| Check Azure Maps geocoding coverage by region | https://learn.microsoft.com/en-us/azure/azure-maps/geocoding-coverage |
65| Understand Azure Maps render coverage and tile detail | https://learn.microsoft.com/en-us/azure/azure-maps/render-coverage |
66| Evaluate Azure Maps routing coverage and capabilities | https://learn.microsoft.com/en-us/azure/azure-maps/routing-coverage |
67| Review Azure Maps traffic data coverage worldwide | https://learn.microsoft.com/en-us/azure/azure-maps/traffic-coverage |
68| Check Azure Maps weather service regional coverage | https://learn.microsoft.com/en-us/azure/azure-maps/weather-coverage |
69
70### Security
71| Topic | URL |
72|-------|-----|
73| Configure Azure Maps authentication methods securely | https://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-authentication |
74| Configure authentication methods for Azure Maps accounts | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-authentication |
75| Secure Azure Maps daemon and background applications | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-daemon-app |
76| Secure input-constrained devices using Entra ID and Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-device-code |
77| Secure Azure Maps with SAS token authentication | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-sas-app |
78| Secure non-interactive SPAs for Azure Maps with Entra ID | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-spa-app |
79| Secure Azure Maps SPA with interactive user sign-in | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-spa-users |
80| Secure Azure Maps web apps with interactive sign-in | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-secure-webapp-users |
81| Understand Azure Maps Power BI visual data residency behavior | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-data-residency |
82| Manage organizational access to Azure Maps Power BI visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-manage-access |
83| Secure Azure Maps access using Private Link endpoints | https://learn.microsoft.com/en-us/azure/azure-maps/private-endpoints |
84
85### Configuration
86| Topic | URL |
87|-------|-----|
88| Configure map styles in Azure Maps Web Map Control | https://learn.microsoft.com/en-us/azure/azure-maps/choose-map-style |
89| Configure vehicle consumption models in Azure Maps routing | https://learn.microsoft.com/en-us/azure/azure-maps/consumption-model |
90| Create and manage data sources in Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/create-data-source-web-sdk |
91| Use Azure Maps extended GeoJSON geometries | https://learn.microsoft.com/en-us/azure/azure-maps/extend-geojson |
92| Provision Azure Maps accounts using ARM templates | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-template |
93| Configure Azure Maps global data processing regions | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-manage-consent |
94| Add and configure Bubble layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-bubble-layer |
95| Configure controls on Azure Maps Web maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-controls |
96| Add HTML markers and events to Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-custom-html |
97| Add and configure Symbol layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-pin |
98| Add and customize popups on Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-popup |
99| Migrate Azure Maps Route v1.0 APIs to 2025-01-01 | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-route-v1-api |
100| Migrate Azure Maps Traffic v1 service to newer APIs | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-traffic-v1-api |
101| Supported spatial formats in Azure Maps Spatial IO | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-read-write-spatial-data |
102| Delimited and XML spatial data parsing rules in Spatial IO | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-supported-data-format-details |
103| Browser support and feature detection for Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/supported-browsers |
104| Configure Azure Maps localization languages and views | https://learn.microsoft.com/en-us/azure/azure-maps/supported-languages |
105| Select and use built-in Azure Maps map styles | https://learn.microsoft.com/en-us/azure/azure-maps/supported-map-styles |
106| Use Azure Maps supported search category codes | https://learn.microsoft.com/en-us/azure/azure-maps/supported-search-categories |
107| Migrate Azure Maps Web SDK apps from v1/v2 to v3 | https://learn.microsoft.com/en-us/azure/azure-maps/web-sdk-migration-guide |
108| Configure Azure Maps zoom levels and tile coordinates | https://learn.microsoft.com/en-us/azure/azure-maps/zoom-levels-and-tile-grid |
109
110### Integrations & Coding Patterns
111| Topic | URL |
112|-------|-----|
113| Use PMTiles custom protocol with Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/add-custom-protocol-pmtiles |
114| Migrate Azure Maps Android SDK apps to Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/android-sdk-migration-guide |
115| Integrate Azure Maps geofence events with Event Grid | https://learn.microsoft.com/en-us/azure/azure-maps/azure-maps-event-grid-integration |
116| Cluster point data with Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/clustering-point-data-web-sdk |
117| Use data-driven style expressions in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/data-driven-style-expressions-web-sdk |
118| Use Azure Maps drawing tools events | https://learn.microsoft.com/en-us/azure/azure-maps/drawing-tools-events |
119| Use drawing interactions and shortcuts in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/drawing-tools-interactions-keyboard-shortcuts |
120| Integrate Azure Maps using the C# REST SDK | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-dev-guide-csharp-sdk |
121| Integrate Azure Maps using the Java REST SDK | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-dev-guide-java-sdk |
122| Integrate Azure Maps using the JavaScript REST SDK | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-dev-guide-js-sdk |
123| Integrate Azure Maps using the Python REST SDK | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-dev-guide-py-sdk |
124| Request real-time and forecast weather data with Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-request-weather-data |
125| Use Azure Maps Search APIs for geocoding and POI lookup | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-search-for-address |
126| Use image templates and fill patterns in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-image-templates-web-sdk |
127| Use Azure Maps Web Map Control in web and mobile apps | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-map-control |
128| Embed Azure Maps map control via npm in Node.js apps | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-npm-package |
129| Integrate spatial data using Azure Maps Spatial IO | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-spatial-io-module |
130| Use Azure Maps TypeScript REST SDK modules | https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-ts-rest-sdk |
131| Migrate Azure Maps iOS SDK apps to Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/ios-sdk-migration-guide |
132| Add and customize drawing toolbar in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-drawing-toolbar |
133| Create and customize heat map layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-heat-map-layer |
134| Overlay image layers on Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-image-layer |
135| Render line layers with Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-line-layer |
136| Render polygon and circle layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-shape |
137| Add and configure snap grid in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-snap-grid |
138| Add tile layers and overlays in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-add-tile-layer |
139| Create and animate maps with Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/map-create |
140| Handle Azure Maps Web SDK map events | https://learn.microsoft.com/en-us/azure/azure-maps/map-events |
141| Use polygon extrusion layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-extruded-polygon |
142| Perform reverse geocoding in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-get-information-from-coordinate |
143| Extract GeoJSON from drawn shapes in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-get-shape-data |
144| Request and display routes with Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-route |
145| Search locations and show results in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-search-location |
146| Display traffic flow and incidents in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/map-show-traffic |
147| Translate Bing route calculation to Azure Maps routing | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-calculate-route |
148| Convert Bing address geocoding to Azure Maps Geocoding | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-find-location-address |
149| Migrate Bing reverse geocoding to Azure Maps API | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-find-location-by-point |
150| Migrate Bing query-based geocoding to Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-find-location-query |
151| Migrate Bing time zone lookups to Azure Maps timezone API | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-find-time-zone |
152| Migrate Bing Maps web apps to Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-from-bing-maps-web-app |
153| Migrate a web app from Google Maps to Azure Maps Web SDK | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-from-google-maps-web-app |
154| Migrate Google Maps web services to Azure Maps REST APIs | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-from-google-maps-web-services |
155| Migrate Bing Geocode Dataflow to Azure batch geocoding | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-geocode-dataflow |
156| Replace Bing Geodata API with Azure Maps Get Polygon | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-geodata |
157| Migrate Bing Static Map calls to Azure Static Image | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-get-static-map |
158| Migrate Bing traffic incidents to Azure Maps incident details | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-get-traffic-incidents |
159| Migrate Azure Maps Search v1 integrations to 2026-01-01 | https://learn.microsoft.com/en-us/azure/azure-maps/migrate-search-v1-api |
160| Add and configure marker layers in Azure Maps visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-add-marker-layer |
161| Add pie chart layers in Azure Maps Power BI visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-add-pie-chart-layer |
162| Use cluster bubble layers in Azure Maps visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-cluster-bubbles |
163| Get started with Azure Maps visual in Power BI | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-get-started |
164| Configure layers in Azure Maps Power BI visual | https://learn.microsoft.com/en-us/azure/azure-maps/power-bi-visual-understanding-layers |
165| Configure Azure Maps drawing tools module | https://learn.microsoft.com/en-us/azure/azure-maps/set-drawing-options |
166| Overlay OGC WMS/WMTS layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-add-ogc-map-layer |
167| Render data with Spatial IO SimpleDataLayer | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-add-simple-data-layer |
168| Connect Azure Maps Spatial IO to WFS services | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-connect-wfs-service |
169| Use core CSV/XML IO operations in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/spatial-io-core-operations |
170| Implement custom WebGL layers in Azure Maps | https://learn.microsoft.com/en-us/azure/azure-maps/webgl-custom-layer |