{"id":"a59d01af-0ce4-4030-83cf-ec2b7a75da56","shortId":"qaht4H","kind":"skill","title":"azure-maps-search-dotnet","tagline":"Azure Maps SDK for .NET. Location-based services including geocoding, routing, rendering, geolocation, and weather. Use for address search, directions, map tiles, IP geolocation, and weather data.","description":"# Azure Maps (.NET)\n\nAzure Maps SDK for .NET providing location-based services: geocoding, routing, rendering, geolocation, and weather.\n\n## Installation\n\n```bash\n# Search (geocoding, reverse geocoding)\ndotnet add package Azure.Maps.Search --prerelease\n\n# Routing (directions, route matrix)\ndotnet add package Azure.Maps.Routing --prerelease\n\n# Rendering (map tiles, static images)\ndotnet add package Azure.Maps.Rendering --prerelease\n\n# Geolocation (IP to location)\ndotnet add package Azure.Maps.Geolocation --prerelease\n\n# Weather\ndotnet add package Azure.Maps.Weather --prerelease\n\n# Resource Management (account management, SAS tokens)\ndotnet add package Azure.ResourceManager.Maps --prerelease\n\n# Required for authentication\ndotnet add package Azure.Identity\n```\n\n**Current Versions**:\n- `Azure.Maps.Search`: v2.0.0-beta.5\n- `Azure.Maps.Routing`: v1.0.0-beta.4\n- `Azure.Maps.Rendering`: v2.0.0-beta.1\n- `Azure.Maps.Geolocation`: v1.0.0-beta.3\n- `Azure.ResourceManager.Maps`: v1.1.0-beta.2\n\n## Environment Variables\n\n```bash\nAZURE_MAPS_SUBSCRIPTION_KEY=<your-subscription-key>\nAZURE_MAPS_CLIENT_ID=<your-client-id>  # For Entra ID auth\n```\n\n## Authentication\n\n### Subscription Key (Shared Key)\n\n```csharp\nusing Azure;\nusing Azure.Maps.Search;\n\nvar subscriptionKey = Environment.GetEnvironmentVariable(\"AZURE_MAPS_SUBSCRIPTION_KEY\");\nvar credential = new AzureKeyCredential(subscriptionKey);\n\nvar client = new MapsSearchClient(credential);\n```\n\n### Microsoft Entra ID (Recommended for Production)\n\n```csharp\nusing Azure.Identity;\nusing Azure.Maps.Search;\n\nvar credential = new DefaultAzureCredential();\nvar clientId = Environment.GetEnvironmentVariable(\"AZURE_MAPS_CLIENT_ID\");\n\nvar client = new MapsSearchClient(credential, clientId);\n```\n\n### Shared Access Signature (SAS)\n\n```csharp\nusing Azure;\nusing Azure.Core;\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.Maps;\nusing Azure.ResourceManager.Maps.Models;\nusing Azure.Maps.Search;\n\n// Authenticate with Azure Resource Manager\nArmClient armClient = new ArmClient(new DefaultAzureCredential());\n\n// Get Maps account resource\nResourceIdentifier mapsAccountResourceId = MapsAccountResource.CreateResourceIdentifier(\n    subscriptionId, resourceGroupName, accountName);\nMapsAccountResource mapsAccount = armClient.GetMapsAccountResource(mapsAccountResourceId);\n\n// Generate SAS token\nMapsAccountSasContent sasContent = new MapsAccountSasContent(\n    MapsSigningKey.PrimaryKey, \n    principalId, \n    maxRatePerSecond: 500, \n    start: DateTime.UtcNow.ToString(\"O\"), \n    expiry: DateTime.UtcNow.AddDays(1).ToString(\"O\"));\n\nResponse<MapsAccountSasToken> sas = mapsAccount.GetSas(sasContent);\n\n// Create client with SAS token\nvar sasCredential = new AzureSasCredential(sas.Value.AccountSasToken);\nvar client = new MapsSearchClient(sasCredential);\n```\n\n## Client Hierarchy\n\n```\nAzure.Maps.Search\n└── MapsSearchClient\n    ├── GetGeocoding()                    → Geocode addresses\n    ├── GetGeocodingBatch()               → Batch geocoding\n    ├── GetReverseGeocoding()             → Coordinates to address\n    ├── GetReverseGeocodingBatch()        → Batch reverse geocoding\n    └── GetPolygon()                      → Get boundary polygons\n\nAzure.Maps.Routing\n└── MapsRoutingClient\n    ├── GetDirections()                   → Route directions\n    ├── GetImmediateRouteMatrix()         → Route matrix (sync, ≤100)\n    ├── GetRouteMatrix()                  → Route matrix (async, ≤700)\n    └── GetRouteRange()                   → Isochrone/reachable range\n\nAzure.Maps.Rendering\n└── MapsRenderingClient\n    ├── GetMapTile()                      → Map tiles\n    ├── GetMapStaticImage()               → Static map images\n    └── GetCopyrightCaption()             → Copyright info\n\nAzure.Maps.Geolocation\n└── MapsGeolocationClient\n    └── GetCountryCode()                  → IP to country/region\n\nAzure.Maps.Weather\n└── MapsWeatherClient\n    ├── GetCurrentWeatherConditions()     → Current weather\n    ├── GetDailyForecast()                → Daily forecast\n    ├── GetHourlyForecast()               → Hourly forecast\n    └── GetSevereWeatherAlerts()          → Weather alerts\n```\n\n## Core Workflows\n\n### 1. Geocoding (Address to Coordinates)\n\n```csharp\nusing Azure;\nusing Azure.Maps.Search;\n\nvar credential = new AzureKeyCredential(subscriptionKey);\nvar client = new MapsSearchClient(credential);\n\nResponse<GeocodingResponse> result = client.GetGeocoding(\"1 Microsoft Way, Redmond, WA 98052\");\n\nforeach (var feature in result.Value.Features)\n{\n    Console.WriteLine($\"Coordinates: {string.Join(\",\", feature.Geometry.Coordinates)}\");\n    Console.WriteLine($\"Address: {feature.Properties.Address.FormattedAddress}\");\n    Console.WriteLine($\"Confidence: {feature.Properties.Confidence}\");\n}\n```\n\n### 2. Batch Geocoding\n\n```csharp\nusing Azure.Maps.Search.Models.Queries;\n\nList<GeocodingQuery> queries = new List<GeocodingQuery>\n{\n    new GeocodingQuery() { Query = \"400 Broad St, Seattle, WA\" },\n    new GeocodingQuery() { Query = \"1 Microsoft Way, Redmond, WA\" },\n    new GeocodingQuery() { AddressLine = \"Space Needle\", Top = 1 },\n};\n\nResponse<GeocodingBatchResponse> results = client.GetGeocodingBatch(queries);\n\nforeach (var batchItem in results.Value.BatchItems)\n{\n    foreach (var feature in batchItem.Features)\n    {\n        Console.WriteLine($\"Coordinates: {string.Join(\",\", feature.Geometry.Coordinates)}\");\n    }\n}\n```\n\n### 3. Reverse Geocoding (Coordinates to Address)\n\n```csharp\nusing Azure.Core.GeoJson;\n\nGeoPosition coordinates = new GeoPosition(-122.138685, 47.6305637);\nResponse<GeocodingResponse> result = client.GetReverseGeocoding(coordinates);\n\nforeach (var feature in result.Value.Features)\n{\n    Console.WriteLine($\"Address: {feature.Properties.Address.FormattedAddress}\");\n    Console.WriteLine($\"Locality: {feature.Properties.Address.Locality}\");\n}\n```\n\n### 4. Get Boundary Polygon\n\n```csharp\nusing Azure.Maps.Search.Models;\n\nGetPolygonOptions options = new GetPolygonOptions()\n{\n    Coordinates = new GeoPosition(-122.204141, 47.61256),\n    ResultType = BoundaryResultTypeEnum.Locality,\n    Resolution = ResolutionEnum.Small,\n};\n\nResponse<Boundary> result = client.GetPolygon(options);\n\nConsole.WriteLine($\"Boundary copyright: {result.Value.Properties?.Copyright}\");\nConsole.WriteLine($\"Polygon count: {result.Value.Geometry.Count}\");\n```\n\n### 5. Route Directions\n\n```csharp\nusing Azure;\nusing Azure.Core.GeoJson;\nusing Azure.Maps.Routing;\nusing Azure.Maps.Routing.Models;\n\nvar client = new MapsRoutingClient(new AzureKeyCredential(subscriptionKey));\n\nList<GeoPosition> routePoints = new List<GeoPosition>()\n{\n    new GeoPosition(-122.34, 47.61),  // Seattle\n    new GeoPosition(-122.13, 47.64)   // Redmond\n};\n\nRouteDirectionQuery query = new RouteDirectionQuery(routePoints);\nResponse<RouteDirections> result = client.GetDirections(query);\n\nforeach (var route in result.Value.Routes)\n{\n    Console.WriteLine($\"Distance: {route.Summary.LengthInMeters} meters\");\n    Console.WriteLine($\"Duration: {route.Summary.TravelTimeDuration}\");\n    \n    foreach (RouteLeg leg in route.Legs)\n    {\n        Console.WriteLine($\"Leg points: {leg.Points.Count}\");\n    }\n}\n```\n\n### 6. Route Directions with Options\n\n```csharp\nRouteDirectionOptions options = new RouteDirectionOptions()\n{\n    RouteType = RouteType.Fastest,\n    UseTrafficData = true,\n    TravelMode = TravelMode.Bicycle,\n    Language = RoutingLanguage.EnglishUsa,\n    InstructionsType = RouteInstructionsType.Text,\n};\n\nRouteDirectionQuery query = new RouteDirectionQuery(routePoints)\n{\n    RouteDirectionOptions = options\n};\n\nResponse<RouteDirections> result = client.GetDirections(query);\n```\n\n### 7. Route Matrix\n\n```csharp\nRouteMatrixQuery routeMatrixQuery = new RouteMatrixQuery\n{\n    Origins = new List<GeoPosition>()\n    {\n        new GeoPosition(-122.34, 47.61),\n        new GeoPosition(-122.13, 47.64)\n    },\n    Destinations = new List<GeoPosition>() \n    { \n        new GeoPosition(-122.20, 47.62),\n        new GeoPosition(-122.40, 47.65)\n    },\n};\n\n// Synchronous (up to 100 route combinations)\nResponse<RouteMatrixResult> result = client.GetImmediateRouteMatrix(routeMatrixQuery);\n\nforeach (var cell in result.Value.Matrix.SelectMany(row => row))\n{\n    Console.WriteLine($\"Distance: {cell.Response?.RouteSummary?.LengthInMeters}\");\n    Console.WriteLine($\"Duration: {cell.Response?.RouteSummary?.TravelTimeDuration}\");\n}\n\n// Asynchronous (up to 700 route combinations)\nRouteMatrixOptions routeMatrixOptions = new RouteMatrixOptions(routeMatrixQuery)\n{\n    TravelTimeType = TravelTimeType.All,\n};\nGetRouteMatrixOperation asyncResult = client.GetRouteMatrix(WaitUntil.Completed, routeMatrixOptions);\n```\n\n### 8. Route Range (Isochrone)\n\n```csharp\nRouteRangeOptions options = new RouteRangeOptions(-122.34, 47.61)\n{\n    TimeBudget = new TimeSpan(0, 20, 0)  // 20 minutes\n};\n\nResponse<RouteRangeResult> result = client.GetRouteRange(options);\n\n// result.Value.ReachableRange contains the polygon\nConsole.WriteLine($\"Boundary points: {result.Value.ReachableRange.Boundary.Count}\");\n```\n\n### 9. Get Map Tiles\n\n```csharp\nusing Azure;\nusing Azure.Maps.Rendering;\n\nvar client = new MapsRenderingClient(new AzureKeyCredential(subscriptionKey));\n\nint zoom = 10;\nint tileSize = 256;\n\n// Convert coordinates to tile index\nMapTileIndex tileIndex = MapsRenderingClient.PositionToTileXY(\n    new GeoPosition(13.3854, 52.517), zoom, tileSize);\n\n// Fetch map tile\nGetMapTileOptions options = new GetMapTileOptions(\n    MapTileSetId.MicrosoftImagery,\n    new MapTileIndex(tileIndex.X, tileIndex.Y, zoom)\n);\n\nResponse<Stream> mapTile = client.GetMapTile(options);\n\n// Save to file\nusing (FileStream fileStream = File.Create(\"./MapTile.png\"))\n{\n    mapTile.Value.CopyTo(fileStream);\n}\n```\n\n### 10. IP Geolocation\n\n```csharp\nusing System.Net;\nusing Azure;\nusing Azure.Maps.Geolocation;\n\nvar client = new MapsGeolocationClient(new AzureKeyCredential(subscriptionKey));\n\nIPAddress ipAddress = IPAddress.Parse(\"2001:4898:80e8:b::189\");\nResponse<CountryRegionResult> result = client.GetCountryCode(ipAddress);\n\nConsole.WriteLine($\"Country ISO Code: {result.Value.IsoCode}\");\n```\n\n### 11. Current Weather\n\n```csharp\nusing Azure;\nusing Azure.Core.GeoJson;\nusing Azure.Maps.Weather;\n\nvar client = new MapsWeatherClient(new AzureKeyCredential(subscriptionKey));\n\nvar position = new GeoPosition(-122.13071, 47.64011);\nvar options = new GetCurrentWeatherConditionsOptions(position);\n\nResponse<CurrentConditionsResult> result = client.GetCurrentWeatherConditions(options);\n\nforeach (var condition in result.Value.Results)\n{\n    Console.WriteLine($\"Temperature: {condition.Temperature.Value} {condition.Temperature.Unit}\");\n    Console.WriteLine($\"Weather: {condition.Phrase}\");\n    Console.WriteLine($\"Humidity: {condition.RelativeHumidity}%\");\n}\n```\n\n## Key Types Reference\n\n### Search Package\n\n| Type | Purpose |\n|------|---------|\n| `MapsSearchClient` | Main client for search operations |\n| `GeocodingResponse` | Geocoding result |\n| `GeocodingBatchResponse` | Batch geocoding result |\n| `GeocodingQuery` | Query for batch geocoding |\n| `ReverseGeocodingQuery` | Query for batch reverse geocoding |\n| `GetPolygonOptions` | Options for polygon retrieval |\n| `Boundary` | Boundary polygon result |\n| `BoundaryResultTypeEnum` | Boundary type (Locality, AdminDistrict, etc.) |\n| `ResolutionEnum` | Polygon resolution (Small, Medium, Large) |\n\n### Routing Package\n\n| Type | Purpose |\n|------|---------|\n| `MapsRoutingClient` | Main client for routing operations |\n| `RouteDirectionQuery` | Query for route directions |\n| `RouteDirectionOptions` | Route calculation options |\n| `RouteDirections` | Route directions result |\n| `RouteLeg` | Segment of a route |\n| `RouteMatrixQuery` | Query for route matrix |\n| `RouteMatrixResult` | Route matrix result |\n| `RouteRangeOptions` | Options for isochrone |\n| `RouteRangeResult` | Isochrone result |\n| `RouteType` | Route type (Fastest, Shortest, Eco, Thrilling) |\n| `TravelMode` | Travel mode (Car, Truck, Bicycle, Pedestrian) |\n\n### Rendering Package\n\n| Type | Purpose |\n|------|---------|\n| `MapsRenderingClient` | Main client for rendering |\n| `GetMapTileOptions` | Map tile options |\n| `MapTileIndex` | Tile coordinates (X, Y, Zoom) |\n| `MapTileSetId` | Tile set identifier |\n\n### Common Types\n\n| Type | Purpose |\n|------|---------|\n| `GeoPosition` | Geographic position (longitude, latitude) |\n| `GeoBoundingBox` | Bounding box for geographic area |\n\n## Best Practices\n\n1. **Use Entra ID for production** — Prefer over subscription keys\n2. **Batch operations** — Use batch geocoding for multiple addresses\n3. **Cache results** — Geocoding results don't change frequently\n4. **Use appropriate tile sizes** — 256 or 512 pixels based on display\n5. **Handle rate limits** — Implement exponential backoff\n6. **Use async route matrix** — For large matrix calculations (>100)\n7. **Consider traffic data** — Set `UseTrafficData = true` for accurate ETAs\n\n## Error Handling\n\n```csharp\ntry\n{\n    Response<GeocodingResponse> result = client.GetGeocoding(address);\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"Status: {ex.Status}\");\n    Console.WriteLine($\"Error: {ex.Message}\");\n    \n    switch (ex.Status)\n    {\n        case 400:\n            // Invalid request parameters\n            break;\n        case 401:\n            // Authentication failed\n            break;\n        case 429:\n            // Rate limited - implement backoff\n            break;\n    }\n}\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.Maps.Search` | Geocoding, search | `dotnet add package Azure.Maps.Search --prerelease` |\n| `Azure.Maps.Routing` | Directions, matrix | `dotnet add package Azure.Maps.Routing --prerelease` |\n| `Azure.Maps.Rendering` | Map tiles, images | `dotnet add package Azure.Maps.Rendering --prerelease` |\n| `Azure.Maps.Geolocation` | IP geolocation | `dotnet add package Azure.Maps.Geolocation --prerelease` |\n| `Azure.Maps.Weather` | Weather data | `dotnet add package Azure.Maps.Weather --prerelease` |\n| `Azure.ResourceManager.Maps` | Account management | `dotnet add package Azure.ResourceManager.Maps --prerelease` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| Azure Maps Documentation | https://learn.microsoft.com/azure/azure-maps/ |\n| Search API Reference | https://learn.microsoft.com/dotnet/api/azure.maps.search |\n| Routing API Reference | https://learn.microsoft.com/dotnet/api/azure.maps.routing |\n| GitHub Source | https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/maps |\n| Pricing | https://azure.microsoft.com/pricing/details/azure-maps/ |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","maps","search","dotnet","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-maps-search-dotnet","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-maps-search-dotnet","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (15,016 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:31.480Z","embedding":null,"createdAt":"2026-04-18T21:32:38.066Z","updatedAt":"2026-04-24T18:50:31.480Z","lastSeenAt":"2026-04-24T18:50:31.480Z","tsv":"'-122.13':542,623 '-122.13071':830 '-122.138685':462 '-122.20':630 '-122.204141':493 '-122.34':537,619,690 '-122.40':634 '/azure/azure-maps/':1173 '/azure/azure-sdk-for-net/tree/main/sdk/maps':1190 '/dotnet/api/azure.maps.routing':1185 '/dotnet/api/azure.maps.search':1179 '/maptile.png':772 '/pricing/details/azure-maps/':1194 '0':695,697 '1':258,354,377,419,430,1006 '10':730,775 '100':311,639,1062 '11':809 '13.3854':744 '189':799 '2':398,1016 '20':696,698 '2001':795 '256':733,1039 '3':449,1025 '4':479,1034 '400':411,1093 '401':1099 '429':1104 '47.61':538,620,691 '47.61256':494 '47.62':631 '47.6305637':463 '47.64':543,624 '47.64011':831 '47.65':635 '4898':796 '5':512,1046 '500':252 '512':1041 '52.517':745 '6':575,1053 '7':606,1063 '700':316,666 '8':681 '80e8':797 '9':712 '98052':382 'access':199 'account':100,230,1157 'accountnam':237 'accur':1071 'action':1207 'add':60,69,79,88,94,105,113,1119,1127,1136,1144,1152,1160 'address':24,286,293,356,393,454,474,1024,1080 'addresslin':426 'admindistrict':900 'alert':351 'api':1175,1181 'applic':1201 'appropri':1036 'area':1003 'armclient':222,223,225 'armclient.getmapsaccountresource':240 'ask':1245 'async':315,1055 'asynchron':663 'asyncresult':677 'auth':142 'authent':111,143,217,1100 'azur':2,6,34,37,131,135,150,156,188,204,219,361,517,718,782,814,1168 'azure-maps-search-dotnet':1 'azure.core':206 'azure.core.geojson':457,519,816 'azure.identity':115,178,208 'azure.maps.geolocation':90,124,332,784,1140,1146 'azure.maps.rendering':81,122,320,720,1131,1138 'azure.maps.routing':71,120,302,521,1123,1129 'azure.maps.routing.models':523 'azure.maps.search':62,118,152,180,216,282,363,1115,1121 'azure.maps.search.models':485 'azure.maps.search.models.queries':403 'azure.maps.weather':96,338,818,1148,1154 'azure.microsoft.com':1193 'azure.microsoft.com/pricing/details/azure-maps/':1192 'azure.resourcemanager':210 'azure.resourcemanager.maps':107,126,212,1156,1162 'azure.resourcemanager.maps.models':214 'azurekeycredenti':163,367,529,726,790,824 'azuresascredenti':273 'b':798 'backoff':1052,1108 'base':13,45,1043 'bash':54,130 'batch':288,295,399,873,879,884,1017,1020 'batchitem':437 'batchitem.features':444 'best':1004 'bicycl':964 'bound':999 'boundari':300,481,504,709,892,893,897,1253 'boundaryresulttypeenum':896 'boundaryresulttypeenum.locality':496 'box':1000 'break':1097,1102,1109 'broad':412 'cach':1026 'calcul':925,1061 'car':962 'case':1092,1098,1103 'catch':1081 'cell':648 'cell.response':655,660 'chang':1032 'clarif':1247 'clear':1220 'client':137,166,190,193,266,276,280,370,525,722,786,820,865,914,972 'client.getcountrycode':802 'client.getcurrentweatherconditions':839 'client.getdirections':552,604 'client.getgeocoding':376,1079 'client.getgeocodingbatch':433 'client.getimmediateroutematrix':644 'client.getmaptile':763 'client.getpolygon':501 'client.getreversegeocoding':466 'client.getroutematrix':678 'client.getrouterange':702 'clientid':186,197 'code':807 'combin':641,668 'common':989 'condit':843 'condition.phrase':852 'condition.relativehumidity':855 'condition.temperature.unit':849 'condition.temperature.value':848 'confid':396 'consid':1064 'console.writeline':388,392,395,445,473,476,503,508,559,563,571,653,658,708,804,846,850,853,1084,1087 'contain':705 'convert':734 'coordin':291,358,389,446,452,459,467,490,735,981 'copyright':330,505,507 'core':352 'count':510 'countri':805 'country/region':337 'creat':265 'credenti':161,169,182,196,365,373 'criteria':1256 'csharp':148,176,202,359,401,455,483,515,580,609,685,716,778,812,1075 'current':116,341,810 'daili':344 'data':33,1066,1150 'datetime.utcnow.adddays':257 'datetime.utcnow.tostring':254 'defaultazurecredenti':184,227 'describ':1208,1224 'destin':625 'direct':26,65,306,514,577,922,929,1124 'display':1045 'distanc':560,654 'document':1170 'dotnet':5,59,68,78,87,93,104,112,1118,1126,1135,1143,1151,1159 'durat':564,659 'eco':957 'entra':140,171,1008 'environ':128,1236 'environment-specif':1235 'environment.getenvironmentvariable':155,187 'error':1073,1088 'eta':1072 'etc':901 'ex':1083 'ex.message':1089 'ex.status':1086,1091 'execut':1203 'expert':1241 'expiri':256 'exponenti':1051 'fail':1101 'fastest':955 'featur':385,442,470 'feature.geometry.coordinates':391,448 'feature.properties.address.formattedaddress':394,475 'feature.properties.address.locality':478 'feature.properties.confidence':397 'fetch':748 'file':767 'file.create':771 'filestream':769,770,774 'foreach':383,435,440,468,554,566,646,841 'forecast':345,348 'frequent':1033 'generat':242 'geoboundingbox':998 'geocod':16,47,56,58,285,289,297,355,400,451,870,874,880,886,1021,1028,1116 'geocodingbatchrespons':872 'geocodingqueri':409,417,425,876 'geocodingrespons':869 'geograph':994,1002 'geoloc':19,30,50,83,777,1142 'geoposit':458,461,492,536,541,618,622,629,633,743,829,993 'get':228,299,480,713 'getcopyrightcapt':329 'getcountrycod':334 'getcurrentweathercondit':340 'getcurrentweatherconditionsopt':835 'getdailyforecast':343 'getdirect':304 'getgeocod':284 'getgeocodingbatch':287 'gethourlyforecast':346 'getimmediateroutematrix':307 'getmapstaticimag':325 'getmaptil':322 'getmaptileopt':751,754,975 'getpolygon':298 'getpolygonopt':486,489,887 'getreversegeocod':290 'getreversegeocodingbatch':294 'getroutematrix':312 'getroutematrixoper':676 'getrouterang':317 'getsevereweatheralert':349 'github':1186 'github.com':1189 'github.com/azure/azure-sdk-for-net/tree/main/sdk/maps':1188 'handl':1047,1074 'hierarchi':281 'hour':347 'humid':854 'id':138,141,172,191,1009 'identifi':988 'imag':77,328,1134 'implement':1050,1107 'includ':15 'index':738 'info':331 'input':1250 'instal':53,1114 'instructionstyp':593 'int':728,731 'invalid':1094 'ip':29,84,335,776,1141 'ipaddress':792,793,803 'ipaddress.parse':794 'iso':806 'isochron':684,948,950 'isochrone/reachable':318 'key':134,145,147,159,856,1015 'languag':591 'larg':907,1059 'latitud':997 'learn.microsoft.com':1172,1178,1184 'learn.microsoft.com/azure/azure-maps/':1171 'learn.microsoft.com/dotnet/api/azure.maps.routing':1183 'learn.microsoft.com/dotnet/api/azure.maps.search':1177 'leg':568,572 'leg.points.count':574 'lengthinmet':657 'limit':1049,1106,1212 'link':1165 'list':404,407,531,534,616,627 'local':477,899 'locat':12,44,86 'location-bas':11,43 'longitud':996 'main':864,913,971 'manag':99,101,221,1158 'map':3,7,27,35,38,74,132,136,157,189,229,323,327,714,749,976,1132,1169 'mapsaccount':239 'mapsaccount.getsas':263 'mapsaccountresourc':238 'mapsaccountresource.createresourceidentifier':234 'mapsaccountresourceid':233,241 'mapsaccountsascont':245,248 'mapsgeolocationcli':333,788 'mapsrenderingcli':321,724,970 'mapsrenderingclient.positiontotilexy':741 'mapsroutingcli':303,527,912 'mapssearchcli':168,195,278,283,372,863 'mapssigningkey.primarykey':249 'mapsweathercli':339,822 'maptil':762 'maptile.value.copyto':773 'maptileindex':739,757,979 'maptilesetid':985 'maptilesetid.microsoftimagery':755 'match':1221 'matrix':67,309,314,608,940,943,1057,1060,1125 'maxratepersecond':251 'medium':906 'meter':562 'microsoft':170,378,420 'minut':699 'miss':1258 'mode':961 'multipl':1023 'needl':428 'net':10,36,41 'new':162,167,183,194,224,226,247,272,277,366,371,406,408,416,424,460,488,491,526,528,533,535,540,547,583,597,612,615,617,621,626,628,632,671,688,693,723,725,742,753,756,787,789,821,823,828,834 'o':255,260 'oper':868,917,1018 'option':487,502,579,582,601,687,703,752,764,833,840,888,926,946,978 'origin':614 'output':1230 'overview':1211 'packag':61,70,80,89,95,106,114,860,909,967,1120,1128,1137,1145,1153,1161 'paramet':1096 'pedestrian':965 'permiss':1251 'pixel':1042 'point':573,710 'polygon':301,482,509,707,890,894,903 'posit':827,836,995 'practic':1005 'prefer':1012 'prereleas':63,72,82,91,97,108,1122,1130,1139,1147,1155,1163 'price':1191 'principalid':250 'product':175,1011 'provid':42 'purpos':862,911,969,992,1113 'queri':405,410,418,434,546,553,596,605,877,882,919,937 'rang':319,683 'rate':1048,1105 'recommend':173 'redmond':380,422,544 'refer':858,1164,1176,1182 'relat':1110 'render':18,49,73,966,974 'request':1095 'requestfailedexcept':1082 'requir':109,1249 'resolut':497,904 'resolutionenum':902 'resolutionenum.small':498 'resourc':98,220,231,1166 'resourcegroupnam':236 'resourceidentifi':232 'respons':261,374,431,464,499,550,602,642,700,761,800,837,1077 'result':375,432,465,500,551,603,643,701,801,838,871,875,895,930,944,951,1027,1029,1078 'result.value.features':387,472 'result.value.geometry.count':511 'result.value.isocode':808 'result.value.matrix.selectmany':650 'result.value.properties':506 'result.value.reachablerange':704 'result.value.reachablerange.boundary.count':711 'result.value.results':845 'result.value.routes':558 'results.value.batchitems':439 'resulttyp':495 'retriev':891 'revers':57,296,450,885 'reversegeocodingqueri':881 'review':1242 'rout':17,48,64,66,305,308,313,513,556,576,607,640,667,682,908,916,921,924,928,935,939,942,953,1056,1180 'route.legs':570 'route.summary.lengthinmeters':561 'route.summary.traveltimeduration':565 'routedirect':927 'routedirectionopt':581,584,600,923 'routedirectionqueri':545,548,595,598,918 'routeinstructionstype.text':594 'routeleg':567,931 'routematrixopt':669,670,672,680 'routematrixqueri':610,611,613,645,673,936 'routematrixresult':941 'routepoint':532,549,599 'routerangeopt':686,689,945 'routerangeresult':949 'routesummari':656,661 'routetyp':585,952 'routetype.fastest':586 'routinglanguage.englishusa':592 'row':651,652 'safeti':1252 'sas':102,201,243,262,268 'sas.value.accountsastoken':274 'sascont':246,264 'sascredenti':271,279 'save':765 'scope':1223 'sdk':8,39,1112 'sdks':1111 'search':4,25,55,859,867,1117,1174 'seattl':414,539 'segment':932 'servic':14,46 'set':987,1067 'share':146,198 'shortest':956 'signatur':200 'size':1038 'skill':1199,1215 'skill-azure-maps-search-dotnet' 'small':905 'sourc':1187 'source-sickn33' 'space':427 'specif':1237 'st':413 'start':253 'static':76,326 'status':1085 'stop':1243 'string.join':390,447 'subscript':133,144,158,1014 'subscriptionid':235 'subscriptionkey':154,164,368,530,727,791,825 'substitut':1233 'success':1255 'switch':1090 'sync':310 'synchron':636 'system.net':780 'task':1219 'temperatur':847 'test':1239 'thrill':958 'tile':28,75,324,715,737,750,977,980,986,1037,1133 'tileindex':740 'tileindex.x':758 'tileindex.y':759 'tiles':732,747 'timebudget':692 'timespan':694 'token':103,244,269 'top':429 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'tostr':259 'traffic':1065 'travel':960 'travelmod':589,959 'travelmode.bicycle':590 'traveltimedur':662 'traveltimetyp':674 'traveltimetype.all':675 'treat':1228 'tri':1076 'truck':963 'true':588,1069 'type':857,861,898,910,954,968,990,991 'url':1167 'use':22,149,151,177,179,203,205,207,209,211,213,215,360,362,402,456,484,516,518,520,522,717,719,768,779,781,783,813,815,817,1007,1019,1035,1054,1197,1213 'usetrafficdata':587,1068 'v1.0.0-beta.3':125 'v1.0.0-beta.4':121 'v1.1.0-beta.2':127 'v2.0.0-beta.1':123 'v2.0.0-beta.5':119 'valid':1238 'var':153,160,165,181,185,192,270,275,364,369,384,436,441,469,524,555,647,721,785,819,826,832,842 'variabl':129 'version':117 'wa':381,415,423 'waituntil.completed':679 'way':379,421 'weather':21,32,52,92,342,350,811,851,1149 'workflow':353,1205 'x':982 'y':983 'zoom':729,746,760,984","prices":[{"id":"3b7a1775-df64-4e7b-8a51-d9aa13dded95","listingId":"a59d01af-0ce4-4030-83cf-ec2b7a75da56","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:32:38.066Z"}],"sources":[{"listingId":"a59d01af-0ce4-4030-83cf-ec2b7a75da56","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-maps-search-dotnet","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-maps-search-dotnet","isPrimary":false,"firstSeenAt":"2026-04-18T21:32:38.066Z","lastSeenAt":"2026-04-24T18:50:31.480Z"}],"details":{"listingId":"a59d01af-0ce4-4030-83cf-ec2b7a75da56","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-maps-search-dotnet","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"d7099acc117723ce16607977a218f4335d474b69","skill_md_path":"skills/azure-maps-search-dotnet/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-maps-search-dotnet"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-maps-search-dotnet","description":"Azure Maps SDK for .NET. Location-based services including geocoding, routing, rendering, geolocation, and weather. Use for address search, directions, map tiles, IP geolocation, and weather data."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-maps-search-dotnet"},"updatedAt":"2026-04-24T18:50:31.480Z"}}