@azure-rest/maps-render 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -0
  3. package/dist/index.js +365 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist-esm/src/createMultiCollection.js +13 -0
  6. package/dist-esm/src/createMultiCollection.js.map +1 -0
  7. package/dist-esm/src/createPathQuery.js +97 -0
  8. package/dist-esm/src/createPathQuery.js.map +1 -0
  9. package/dist-esm/src/createPinsQuery.js +74 -0
  10. package/dist-esm/src/createPinsQuery.js.map +1 -0
  11. package/dist-esm/src/generated/clientDefinitions.js +4 -0
  12. package/dist-esm/src/generated/clientDefinitions.js.map +1 -0
  13. package/dist-esm/src/generated/index.js +11 -0
  14. package/dist-esm/src/generated/index.js.map +1 -0
  15. package/dist-esm/src/generated/isUnexpected.js +77 -0
  16. package/dist-esm/src/generated/isUnexpected.js.map +1 -0
  17. package/dist-esm/src/generated/mapsRenderClient.js +25 -0
  18. package/dist-esm/src/generated/mapsRenderClient.js.map +1 -0
  19. package/dist-esm/src/generated/outputModels.js +4 -0
  20. package/dist-esm/src/generated/outputModels.js.map +1 -0
  21. package/dist-esm/src/generated/parameters.js +4 -0
  22. package/dist-esm/src/generated/parameters.js.map +1 -0
  23. package/dist-esm/src/generated/responses.js +4 -0
  24. package/dist-esm/src/generated/responses.js.map +1 -0
  25. package/dist-esm/src/index.js +9 -0
  26. package/dist-esm/src/index.js.map +1 -0
  27. package/dist-esm/src/mapsRender.js +29 -0
  28. package/dist-esm/src/mapsRender.js.map +1 -0
  29. package/dist-esm/src/positionToTileXY.js +44 -0
  30. package/dist-esm/src/positionToTileXY.js.map +1 -0
  31. package/package.json +130 -0
  32. package/review/maps-render.api.md +555 -0
  33. package/types/maps-render-rest.d.ts +1225 -0
@@ -0,0 +1,1225 @@
1
+ import { AzureKeyCredential } from '@azure/core-auth';
2
+ import { Client } from '@azure-rest/core-client';
3
+ import { ClientOptions } from '@azure-rest/core-client';
4
+ import { HttpResponse } from '@azure-rest/core-client';
5
+ import { LatLon } from '@azure/maps-common';
6
+ import { RawHttpHeaders } from '@azure/core-rest-pipeline';
7
+ import { RequestParameters } from '@azure-rest/core-client';
8
+ import { StreamableMethod } from '@azure-rest/core-client';
9
+ import { TokenCredential } from '@azure/core-auth';
10
+
11
+ /**
12
+ * Specify a circular path.
13
+ */
14
+ export declare interface CircularPath {
15
+ /** The center of the circular path. */
16
+ center: LatLon;
17
+ /** The radius of the circular path. */
18
+ radiusInMeters: number;
19
+ /** The options that modify the style of the circular path. */
20
+ options?: CircularPathOptions;
21
+ }
22
+
23
+ /**
24
+ * The options that modify the style of a circular path.
25
+ */
26
+ export declare interface CircularPathOptions {
27
+ /** The line color of the path. Range from 000000 to FFFFFF. */
28
+ lineColor?: string;
29
+ /** The line opacity of the path. Range from 0 to 1. */
30
+ lineOpacity?: number;
31
+ /** The line width of the line. Should be greater than 0. */
32
+ lineWidthInPixels?: number;
33
+ }
34
+
35
+ /** This object is returned from a successful copyright call */
36
+ export declare interface CopyrightCaptionOutput {
37
+ /** Format Version property */
38
+ formatVersion?: string;
39
+ /** Copyrights Caption property */
40
+ copyrightsCaption: string;
41
+ }
42
+
43
+ /** This object is returned from a successful copyright request */
44
+ export declare interface CopyrightOutput {
45
+ /** Format Version property */
46
+ formatVersion?: string;
47
+ /** General Copyrights array */
48
+ generalCopyrights?: Array<string>;
49
+ /** Regions array */
50
+ regions?: Array<RegionCopyrightsOutput>;
51
+ }
52
+
53
+ /**
54
+ * Create a path query string for _get map static image_ request.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * const circularPath = {
59
+ * center: [52.4559, 13.228],
60
+ * radiusInMeters: 10000,
61
+ * options: {
62
+ * lineColor: "000000",
63
+ * lineOpacity: 0.9,
64
+ * lineWidthInPixels: 2,
65
+ * },
66
+ * };
67
+ *
68
+ * const linearPath = {
69
+ * coordinates: [
70
+ * [52.577, 13.35],
71
+ * [52.6, 13.2988],
72
+ * [52.32, 13.2988],
73
+ * ],
74
+ * options: {
75
+ * lineColor: "000000",
76
+ * lineOpacity: 0.9,
77
+ * lineWidthInPixels: 2,
78
+ * },
79
+ * };
80
+ *
81
+ * const polygonPath = {
82
+ * coordinates: [
83
+ * [52.577, 13.35],
84
+ * [52.6, 13.2988],
85
+ * [52.32, 13.2988],
86
+ * [52.577, 13.35],
87
+ * ],
88
+ * options: {
89
+ * lineColor: "000000",
90
+ * lineOpacity: 0.9,
91
+ * lineWidthInPixels: 2,
92
+ * fillColor: "FFFFFF",
93
+ * fillOpacity: 0.8,
94
+ * },
95
+ * };
96
+ *
97
+ * const path = createPathQuery([circularPath, linearPath, polygonPath]);
98
+ * // Send the request
99
+ * const response = await client.path("/map/static/{format}", "png").get({
100
+ * queryParameters: {
101
+ * bbox: [13.228,52.4559,13.5794,52.629],
102
+ * path: path
103
+ * }
104
+ * });
105
+ * ```
106
+ *
107
+ * @param paths - A collection of {@link PolygonalPath} and {@link CircularPath} that you want to draw on the image.
108
+ * @param options - The options for the style of the path. See the possible options in {@link PolygonalPathOptions} and {@link CircularPathOptions}.
109
+ */
110
+ export declare function createPathQuery(paths: Array<PolygonalPath | CircularPath>): string;
111
+
112
+ /**
113
+ * Create a pin query string for _get map static image_
114
+ *
115
+ * @example
116
+ * ```ts
117
+ *
118
+ * const pins = {
119
+ * pins: [
120
+ * { coordinate: [52.577, 13.35], label: "Label start" },
121
+ * { coordinate: [52.6, 13.2988], label: "Label end" },
122
+ * ],
123
+ * pinImage: "<image source url || default || none>"
124
+ * options: {
125
+ * scale: 0.9,
126
+ * pinColor: "FF0000",
127
+ * labelColor: "0000FF",
128
+ * labelSizeInPixels: 18,
129
+ * }
130
+ * );
131
+ * const res = await client
132
+ * .path("/map/static/{format}", "png")
133
+ * .get({
134
+ * queryParameters: {
135
+ * bbox: [13.228, 52.4559, 13.5794, 52.62],
136
+ * zoom: 10,
137
+ * pins: pins,
138
+ * },
139
+ * skipUrlEncoding: true,
140
+ * })
141
+ * ```
142
+ *
143
+ * @param pins - An array of {@link Pin} that specify the positions and label text of each pin.
144
+ * @param pinImage - Specify the image source for custom pin. Set this to "none" if you don't want to show a pin image.
145
+ * @param options - The style options of the pins. See {@link PinOptions}
146
+ * @returns - The composed query string.
147
+ */
148
+ export declare function createPinsQuery(pinSets: PinSet[]): string;
149
+
150
+ /** The resource management error additional info. */
151
+ export declare interface ErrorAdditionalInfoOutput {
152
+ /** The additional info type. */
153
+ type?: string;
154
+ /** The additional info. */
155
+ info?: Record<string, unknown>;
156
+ }
157
+
158
+ /** The error detail. */
159
+ export declare interface ErrorDetailOutput {
160
+ /** The error code. */
161
+ code?: string;
162
+ /** The error message. */
163
+ message?: string;
164
+ /** The error target. */
165
+ target?: string;
166
+ /** The error details. */
167
+ details?: Array<ErrorDetailOutput>;
168
+ /** The error additional info. */
169
+ additionalInfo?: Array<ErrorAdditionalInfoOutput>;
170
+ }
171
+
172
+ /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */
173
+ export declare interface ErrorResponseOutput {
174
+ /** The error object. */
175
+ error?: ErrorDetailOutput;
176
+ }
177
+
178
+ export declare interface GetCopyrightCaption {
179
+ /**
180
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
181
+ *
182
+ * Copyrights API is designed to serve copyright information for Render Tile
183
+ * service. In addition to basic copyright for the whole map, API is serving
184
+ * specific groups of copyrights for some countries/regions.
185
+ *
186
+ * As an alternative to copyrights for map request, one can receive captions
187
+ * for displaying the map provider information on the map.
188
+ */
189
+ get(options?: RenderGetCopyrightCaptionParameters): StreamableMethod<RenderGetCopyrightCaption200Response | RenderGetCopyrightCaptionDefaultResponse>;
190
+ }
191
+
192
+ export declare interface GetCopyrightForTile {
193
+ /**
194
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
195
+ *
196
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
197
+ * Returns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).
198
+ */
199
+ get(options: RenderGetCopyrightForTileParameters): StreamableMethod<RenderGetCopyrightForTile200Response | RenderGetCopyrightForTileDefaultResponse>;
200
+ }
201
+
202
+ export declare interface GetCopyrightForWorld {
203
+ /**
204
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
205
+ *
206
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
207
+ * Returns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.
208
+ */
209
+ get(options?: RenderGetCopyrightForWorldParameters): StreamableMethod<RenderGetCopyrightForWorld200Response | RenderGetCopyrightForWorldDefaultResponse>;
210
+ }
211
+
212
+ export declare interface GetCopyrightFromBoundingBox {
213
+ /**
214
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
215
+ *
216
+ * Returns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates
217
+ */
218
+ get(options: RenderGetCopyrightFromBoundingBoxParameters): StreamableMethod<RenderGetCopyrightFromBoundingBox200Response | RenderGetCopyrightFromBoundingBoxDefaultResponse>;
219
+ }
220
+
221
+ export declare interface GetMapAttribution {
222
+ /**
223
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
224
+ *
225
+ * The Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.
226
+ */
227
+ get(options: RenderGetMapAttributionParameters): StreamableMethod<RenderGetMapAttribution200Response | RenderGetMapAttributionDefaultResponse>;
228
+ }
229
+
230
+ export declare interface GetMapStateTile {
231
+ /**
232
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
233
+ *
234
+ * Fetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))
235
+ */
236
+ get(options: RenderGetMapStateTileParameters): StreamableMethod<RenderGetMapStateTile200Response | RenderGetMapStateTileDefaultResponse>;
237
+ }
238
+
239
+ export declare interface GetMapStaticImage {
240
+ /**
241
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
242
+ *
243
+ * The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice.
244
+ *
245
+ * Service also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following capabilities.
246
+ *
247
+ * - Specify multiple pushpin styles
248
+ * - Render circle, polyline and polygon geometry types.
249
+ *
250
+ * Please see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.
251
+ *
252
+ * _Note_ : Either **center** or **bbox** parameter must be supplied to the
253
+ * API.
254
+ * <br><br>
255
+ * The supported Lat and Lon ranges when using the **bbox** parameter, are as follows:
256
+ * <br><br>
257
+ *
258
+ * |Zoom Level | Max Lon Range | Max Lat Range|
259
+ * |:----------|:----------------|:-------------|
260
+ * |0 | 360.0 | 170.0 |
261
+ * |1 | 360.0 | 170.0 |
262
+ * |2 | 360.0 | 170.0 |
263
+ * |3 | 360.0 | 170.0 |
264
+ * |4 | 360.0 | 170.0 |
265
+ * |5 | 180.0 | 85.0 |
266
+ * |6 | 90.0 | 42.5 |
267
+ * |7 | 45.0 | 21.25 |
268
+ * |8 | 22.5 | 10.625 |
269
+ * |9 | 11.25 | 5.3125 |
270
+ * |10 | 5.625 | 2.62625 |
271
+ * |11 | 2.8125 | 1.328125 |
272
+ * |12 | 1.40625 | 0.6640625 |
273
+ * |13 | 0.703125 | 0.33203125 |
274
+ * |14 | 0.3515625 | 0.166015625 |
275
+ * |15 | 0.17578125 | 0.0830078125 |
276
+ * |16 | 0.087890625 | 0.0415039063 |
277
+ * |17 | 0.0439453125 | 0.0207519531 |
278
+ * |18 | 0.0219726563 | 0.0103759766 |
279
+ * |19 | 0.0109863281 | 0.0051879883 |
280
+ * |20 | 0.0054931641 | 0.0025939941 |
281
+ */
282
+ get(options?: RenderGetMapStaticImageParameters): StreamableMethod<RenderGetMapStaticImage200Response | RenderGetMapStaticImageDefaultResponse>;
283
+ }
284
+
285
+ export declare interface GetMapTile {
286
+ /**
287
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
288
+ *
289
+ * The Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.
290
+ */
291
+ get(options: RenderGetMapTileParameters): StreamableMethod<RenderGetMapTile200Response | RenderGetMapTileDefaultResponse>;
292
+ }
293
+
294
+ export declare interface GetMapTileset {
295
+ /**
296
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
297
+ *
298
+ * The Get Map Tileset API allows users to request metadata for a tileset.
299
+ */
300
+ get(options: RenderGetMapTilesetParameters): StreamableMethod<RenderGetMapTileset200Response | RenderGetMapTilesetDefaultResponse>;
301
+ }
302
+
303
+ export declare function isUnexpected(response: RenderGetMapTile200Response | RenderGetMapTileDefaultResponse): response is RenderGetMapTileDefaultResponse;
304
+
305
+ export declare function isUnexpected(response: RenderGetMapTileset200Response | RenderGetMapTilesetDefaultResponse): response is RenderGetMapTilesetDefaultResponse;
306
+
307
+ export declare function isUnexpected(response: RenderGetMapAttribution200Response | RenderGetMapAttributionDefaultResponse): response is RenderGetMapAttributionDefaultResponse;
308
+
309
+ export declare function isUnexpected(response: RenderGetMapStateTile200Response | RenderGetMapStateTileDefaultResponse): response is RenderGetMapStateTileDefaultResponse;
310
+
311
+ export declare function isUnexpected(response: RenderGetCopyrightCaption200Response | RenderGetCopyrightCaptionDefaultResponse): response is RenderGetCopyrightCaptionDefaultResponse;
312
+
313
+ export declare function isUnexpected(response: RenderGetMapStaticImage200Response | RenderGetMapStaticImageDefaultResponse): response is RenderGetMapStaticImageDefaultResponse;
314
+
315
+ export declare function isUnexpected(response: RenderGetCopyrightFromBoundingBox200Response | RenderGetCopyrightFromBoundingBoxDefaultResponse): response is RenderGetCopyrightFromBoundingBoxDefaultResponse;
316
+
317
+ export declare function isUnexpected(response: RenderGetCopyrightForTile200Response | RenderGetCopyrightForTileDefaultResponse): response is RenderGetCopyrightForTileDefaultResponse;
318
+
319
+ export declare function isUnexpected(response: RenderGetCopyrightForWorld200Response | RenderGetCopyrightForWorldDefaultResponse): response is RenderGetCopyrightForWorldDefaultResponse;
320
+
321
+ /** Copyright attribution for the requested section of a tileset. */
322
+ export declare interface MapAttributionOutput {
323
+ /** A list of copyright strings. */
324
+ copyrights: Array<string>;
325
+ }
326
+
327
+ /**
328
+ * Creates an instance of MapsRenderClient from a subscription key.
329
+ *
330
+ * @example
331
+ * ```ts
332
+ * import MapsRender from "@azure-rest/maps-Render";
333
+ *
334
+ * const credential = new AzureKeyCredential("<subscription-key>");
335
+ * const client = MapsRender(credential);
336
+ *```
337
+ *
338
+ * @param credential - An AzureKeyCredential instance used to authenticate requests to the service
339
+ * @param options - Options used to configure the Render Client
340
+ */
341
+ declare function MapsRender(credential: AzureKeyCredential, options?: ClientOptions): MapsRenderClient;
342
+
343
+ /**
344
+ * Creates an instance of MapsRender from an Azure Identity `TokenCredential`.
345
+ *
346
+ * @example
347
+ * ```ts
348
+ * import MapsRenderClient from "@azure-rest/maps-render";
349
+ * import { DefaultAzureCredential } from "@azure/identity";
350
+ *
351
+ * const credential = new DefaultAzureCredential();
352
+ * const client = MapsRender(credential, "<maps-account-client-id>");
353
+ *```
354
+ *
355
+ * @param credential - An TokenCredential instance used to authenticate requests to the service
356
+ * @param mapsAccountClientId - The Azure Maps client id of a specific map resource
357
+ * @param options - Options used to configure the Render Client
358
+ */
359
+ declare function MapsRender(credential: TokenCredential, mapsAccountClientId: string, options?: ClientOptions): MapsRenderClient;
360
+ export default MapsRender;
361
+
362
+ export declare type MapsRenderClient = Client & {
363
+ path: Routes;
364
+ };
365
+
366
+ /** Metadata for a tileset in the TileJSON format. */
367
+ export declare interface MapTilesetOutput {
368
+ /** Describes the version of the TileJSON spec that is implemented by this JSON object. */
369
+ tilejson: string;
370
+ /** A name describing the tileset. The name can contain any legal character. Implementations SHOULD NOT interpret the name as HTML. */
371
+ name?: string;
372
+ /** Text description of the tileset. The description can contain any legal character. Implementations SHOULD NOT interpret the description as HTML. */
373
+ description?: string;
374
+ /** A semver.org style version number for the tiles contained within the tileset. When changes across tiles are introduced, the minor version MUST change. */
375
+ version?: string;
376
+ /** Copyright attribution to be displayed on the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking. */
377
+ attribution?: string;
378
+ /** A mustache template to be used to format data from grids for interaction. */
379
+ template?: string;
380
+ /** A legend to be displayed with the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking. */
381
+ legend?: string;
382
+ /** Default: "xyz". Either "xyz" or "tms". Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed. */
383
+ scheme?: string;
384
+ /** An array of tile endpoints. If multiple endpoints are specified, clients may use any combination of endpoints. All endpoints MUST return the same content for the same URL. The array MUST contain at least one endpoint. */
385
+ tiles: Array<string>;
386
+ /** An array of interactivity endpoints. */
387
+ grids?: Array<string>;
388
+ /** An array of data files in GeoJSON format. */
389
+ data?: Array<string>;
390
+ /** The minimum zoom level. */
391
+ minzoom?: number;
392
+ /** The maximum zoom level. */
393
+ maxzoom?: number;
394
+ /** The maximum extent of available map tiles. Bounds MUST define an area covered by all zoom levels. The bounds are represented in WGS:84 latitude and longitude values, in the order left, bottom, right, top. Values may be integers or floating point numbers. */
395
+ bounds?: Array<number>;
396
+ /** The default location of the tileset in the form [longitude, latitude, zoom]. The zoom level MUST be between minzoom and maxzoom. Implementations can use this value to set the default location. */
397
+ center?: Array<number>;
398
+ }
399
+
400
+ /**
401
+ * Specify how the pin's position and label text.
402
+ */
403
+ export declare interface Pin {
404
+ /** The coordinate of the pin. */
405
+ coordinate: LatLon;
406
+ /** The label text for the pin. */
407
+ label?: string;
408
+ }
409
+
410
+ /**
411
+ * The pin options for default/none image style..
412
+ */
413
+ export declare interface PinOptions {
414
+ /** The opacity of the pin. Range from 0 to 1 */
415
+ opacity?: number;
416
+ /**
417
+ * The labels are centered at the pushpin 'label anchor.' The anchor location is predefined for built-in pushpins and is at the top center of custom pushpins (see below).
418
+ * To override the label anchor, using the _labelAnchor_ option and provide X and Y pixel coordinates for the anchor.
419
+ * These coordinates are relative to the top left corner of the pushpin image. Positive X values move the anchor to the right, and positive Y values move the anchor down.
420
+ * For example, to position the label anchor 10 pixels right and 4 pixels above the top left corner of the pushpin image, use \{labelAnchor: [10, -4]\}
421
+ * */
422
+ labelAnchor?: [number, number];
423
+ /** Color of the label. Range from 000000 to FFFFFF */
424
+ labelColor?: string;
425
+ /** Size of the label in pixels. */
426
+ labelSizeInPixels?: number;
427
+ /**
428
+ * By default, custom pushpin images are drawn centered at the pin coordinates. This usually isn't ideal as it obscures the location that you're trying to highlight.
429
+ * To override the anchor location of the pin image, use the _pinAnchor_ option. This uses the same format as the _labelAnchor_ options.
430
+ * For example, if your custom pin image has the tip of the pin at the top left corner of the image, you can set the anchor to that spot by using \{pinAnchor: [0, 0]\}
431
+ */
432
+ pinAnchor?: [number, number];
433
+ /** The ration of the pin. Range from -360 to 360*/
434
+ rotationInDegree?: number;
435
+ /** The scale of the pin. Should be greater than 0. */
436
+ scale?: number;
437
+ /** Color of the pin. Range from 000000 to FFFFFF */
438
+ pinColor?: string;
439
+ }
440
+
441
+ export declare interface PinSet {
442
+ pins: Pin[];
443
+ pinImage?: "default" | "none" | string;
444
+ options?: PinOptions;
445
+ }
446
+
447
+ /**
448
+ * Specify a polygonal path.
449
+ */
450
+ export declare interface PolygonalPath {
451
+ /** The coordinates of the polygonal path. The identical coordinate in the first & last position construct a closed polygon.*/
452
+ coordinates: LatLon[];
453
+ /** The options that modify the style of the polygonal path. */
454
+ options?: PolygonalPathOptions;
455
+ }
456
+
457
+ /**
458
+ * The options that modify the style of a polygonal path.
459
+ */
460
+ export declare interface PolygonalPathOptions extends CircularPathOptions {
461
+ /** The fill color of the path. This only works if the path is a closed shape like polygon or circle. Range from 000000 to FFFFFF.*/
462
+ fillColor?: string;
463
+ /** The fill color of the path. This only works if the path is a closed shape like polygon or circle. Range from 0 to 1.*/
464
+ fillOpacity?: number;
465
+ }
466
+
467
+ /**
468
+ * Calculates the XY tile coordinates that a coordinate falls into for a specific zoom level.
469
+ * Reference: https://learn.microsoft.com/en-us/azure/azure-maps/zoom-levels-and-tile-grid?tabs=typescript#tile-math-source-code
470
+ *
471
+ * @example
472
+ * ```ts
473
+ * const zoom = 6;
474
+ * const { x, y } = positionToTileXY([47.61559, -122.33817], 6, "256");
475
+ * const response = await client
476
+ * .path("/map/tile")
477
+ * .get({
478
+ * queryParameters: { tilesetId: "microsoft.base.road", zoom, x, y },
479
+ * })
480
+ * ```
481
+ *
482
+ * @param position - Position coordinate in the format [latitude, longitude].
483
+ * @param zoom - Zoom level.
484
+ * @param tileSize - The size of the tiles in the tile pyramid.
485
+ * @returns Tile XY coordinates.
486
+ */
487
+ export declare function positionToTileXY(position: LatLon, zoom: number, tileSize: "512" | "256"): {
488
+ x: number;
489
+ y: number;
490
+ };
491
+
492
+ /** Country property */
493
+ export declare interface RegionCopyrightsCountryOutput {
494
+ /** ISO3 property */
495
+ ISO3: string;
496
+ /** Label property */
497
+ label: string;
498
+ }
499
+
500
+ export declare interface RegionCopyrightsOutput {
501
+ /** Copyrights array */
502
+ copyrights: Array<string>;
503
+ /** Country property */
504
+ country: RegionCopyrightsCountryOutput;
505
+ }
506
+
507
+ /**
508
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
509
+ *
510
+ * Copyrights API is designed to serve copyright information for Render Tile
511
+ * service. In addition to basic copyright for the whole map, API is serving
512
+ * specific groups of copyrights for some countries/regions.
513
+ *
514
+ * As an alternative to copyrights for map request, one can receive captions
515
+ * for displaying the map provider information on the map.
516
+ */
517
+ export declare interface RenderGetCopyrightCaption200Response extends HttpResponse {
518
+ status: "200";
519
+ body: CopyrightCaptionOutput;
520
+ }
521
+
522
+ /**
523
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
524
+ *
525
+ * Copyrights API is designed to serve copyright information for Render Tile
526
+ * service. In addition to basic copyright for the whole map, API is serving
527
+ * specific groups of copyrights for some countries/regions.
528
+ *
529
+ * As an alternative to copyrights for map request, one can receive captions
530
+ * for displaying the map provider information on the map.
531
+ */
532
+ export declare interface RenderGetCopyrightCaptionDefaultResponse extends HttpResponse {
533
+ status: string;
534
+ body: ErrorResponseOutput;
535
+ }
536
+
537
+ export declare type RenderGetCopyrightCaptionParameters = RequestParameters;
538
+
539
+ /**
540
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
541
+ *
542
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
543
+ * Returns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).
544
+ */
545
+ export declare interface RenderGetCopyrightForTile200Response extends HttpResponse {
546
+ status: "200";
547
+ body: CopyrightOutput;
548
+ }
549
+
550
+ /**
551
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
552
+ *
553
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
554
+ * Returns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).
555
+ */
556
+ export declare interface RenderGetCopyrightForTileDefaultResponse extends HttpResponse {
557
+ status: string;
558
+ body: ErrorResponseOutput;
559
+ }
560
+
561
+ export declare type RenderGetCopyrightForTileParameters = RenderGetCopyrightForTileQueryParam & RequestParameters;
562
+
563
+ export declare interface RenderGetCopyrightForTileQueryParam {
564
+ queryParameters: RenderGetCopyrightForTileQueryParamProperties;
565
+ }
566
+
567
+ export declare interface RenderGetCopyrightForTileQueryParamProperties {
568
+ /**
569
+ * Zoom level for the desired tile.
570
+ *
571
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.
572
+ */
573
+ zoom: number;
574
+ /**
575
+ * X coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
576
+ *
577
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
578
+ */
579
+ x: number;
580
+ /**
581
+ * Y coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
582
+ *
583
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
584
+ */
585
+ y: number;
586
+ /** Yes/no value to exclude textual data from response. Only images and country/region names will be in response. */
587
+ text?: "yes" | "no";
588
+ }
589
+
590
+ /**
591
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
592
+ *
593
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
594
+ * Returns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.
595
+ */
596
+ export declare interface RenderGetCopyrightForWorld200Response extends HttpResponse {
597
+ status: "200";
598
+ body: CopyrightOutput;
599
+ }
600
+
601
+ /**
602
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
603
+ *
604
+ * Copyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.
605
+ * Returns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.
606
+ */
607
+ export declare interface RenderGetCopyrightForWorldDefaultResponse extends HttpResponse {
608
+ status: string;
609
+ body: ErrorResponseOutput;
610
+ }
611
+
612
+ export declare type RenderGetCopyrightForWorldParameters = RenderGetCopyrightForWorldQueryParam & RequestParameters;
613
+
614
+ export declare interface RenderGetCopyrightForWorldQueryParam {
615
+ queryParameters?: RenderGetCopyrightForWorldQueryParamProperties;
616
+ }
617
+
618
+ export declare interface RenderGetCopyrightForWorldQueryParamProperties {
619
+ /** Yes/no value to exclude textual data from response. Only images and country/region names will be in response. */
620
+ text?: "yes" | "no";
621
+ }
622
+
623
+ /**
624
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
625
+ *
626
+ * Returns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates
627
+ */
628
+ export declare interface RenderGetCopyrightFromBoundingBox200Response extends HttpResponse {
629
+ status: "200";
630
+ body: CopyrightOutput;
631
+ }
632
+
633
+ /**
634
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
635
+ *
636
+ * Returns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates
637
+ */
638
+ export declare interface RenderGetCopyrightFromBoundingBoxDefaultResponse extends HttpResponse {
639
+ status: string;
640
+ body: ErrorResponseOutput;
641
+ }
642
+
643
+ export declare type RenderGetCopyrightFromBoundingBoxParameters = RenderGetCopyrightFromBoundingBoxQueryParam & RequestParameters;
644
+
645
+ export declare interface RenderGetCopyrightFromBoundingBoxQueryParam {
646
+ queryParameters: RenderGetCopyrightFromBoundingBoxQueryParamProperties;
647
+ }
648
+
649
+ export declare interface RenderGetCopyrightFromBoundingBoxQueryParamProperties {
650
+ /** Minimum coordinates (south-west point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228 */
651
+ mincoordinates: Array<number>;
652
+ /** Maximum coordinates (north-east point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228 */
653
+ maxcoordinates: Array<number>;
654
+ /** Yes/no value to exclude textual data from response. Only images and country/region names will be in response. */
655
+ text?: "yes" | "no";
656
+ }
657
+
658
+ /**
659
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
660
+ *
661
+ * The Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.
662
+ */
663
+ export declare interface RenderGetMapAttribution200Response extends HttpResponse {
664
+ status: "200";
665
+ body: MapAttributionOutput;
666
+ }
667
+
668
+ /**
669
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
670
+ *
671
+ * The Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.
672
+ */
673
+ export declare interface RenderGetMapAttributionDefaultResponse extends HttpResponse {
674
+ status: string;
675
+ body: ErrorResponseOutput;
676
+ }
677
+
678
+ export declare type RenderGetMapAttributionParameters = RenderGetMapAttributionQueryParam & RequestParameters;
679
+
680
+ export declare interface RenderGetMapAttributionQueryParam {
681
+ queryParameters: RenderGetMapAttributionQueryParamProperties;
682
+ }
683
+
684
+ export declare interface RenderGetMapAttributionQueryParamProperties {
685
+ /** A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/en-us/rest/api/maps/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base. */
686
+ tilesetId: "microsoft.base" | "microsoft.base.labels" | "microsoft.base.hybrid" | "microsoft.terra.main" | "microsoft.base.road" | "microsoft.base.darkgrey" | "microsoft.base.labels.road" | "microsoft.base.labels.darkgrey" | "microsoft.base.hybrid.road" | "microsoft.base.hybrid.darkgrey" | "microsoft.imagery" | "microsoft.weather.radar.main" | "microsoft.weather.infrared.main" | "microsoft.dem" | "microsoft.dem.contours" | "microsoft.traffic.absolute" | "microsoft.traffic.absolute.main" | "microsoft.traffic.relative" | "microsoft.traffic.relative.main" | "microsoft.traffic.relative.dark" | "microsoft.traffic.delay" | "microsoft.traffic.delay.main" | "microsoft.traffic.reduced.main" | "microsoft.traffic.incident";
687
+ /** Zoom level for the desired map attribution. */
688
+ zoom: number;
689
+ /** The string that represents the rectangular area of a bounding box. The bounds parameter is defined by the 4 bounding box coordinates, with WGS84 longitude and latitude of the southwest corner followed by WGS84 longitude and latitude of the northeast corner. The string is presented in the following format: `[SouthwestCorner_Longitude, SouthwestCorner_Latitude, NortheastCorner_Longitude, NortheastCorner_Latitude]`. */
690
+ bounds: Array<number>;
691
+ }
692
+
693
+ export declare interface RenderGetMapStateTile200Headers {
694
+ /** The content-type for the response. */
695
+ "content-type"?: string;
696
+ }
697
+
698
+ /**
699
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
700
+ *
701
+ * Fetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))
702
+ */
703
+ export declare interface RenderGetMapStateTile200Response extends HttpResponse {
704
+ status: "200";
705
+ /** Value may contain any sequence of octets */
706
+ body: Uint8Array;
707
+ headers: RawHttpHeaders & RenderGetMapStateTile200Headers;
708
+ }
709
+
710
+ /**
711
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
712
+ *
713
+ * Fetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))
714
+ */
715
+ export declare interface RenderGetMapStateTileDefaultResponse extends HttpResponse {
716
+ status: string;
717
+ body: ErrorResponseOutput;
718
+ }
719
+
720
+ export declare type RenderGetMapStateTileParameters = RenderGetMapStateTileQueryParam & RequestParameters;
721
+
722
+ export declare interface RenderGetMapStateTileQueryParam {
723
+ queryParameters: RenderGetMapStateTileQueryParamProperties;
724
+ }
725
+
726
+ export declare interface RenderGetMapStateTileQueryParamProperties {
727
+ /**
728
+ * Zoom level for the desired tile.
729
+ *
730
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.
731
+ */
732
+ zoom: number;
733
+ /**
734
+ * X coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
735
+ *
736
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
737
+ */
738
+ x: number;
739
+ /**
740
+ * Y coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
741
+ *
742
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
743
+ */
744
+ y: number;
745
+ /** The stateset id. */
746
+ statesetId: string;
747
+ }
748
+
749
+ export declare interface RenderGetMapStaticImage200Headers {
750
+ /** The content-type for the response. */
751
+ "content-type"?: string;
752
+ }
753
+
754
+ /**
755
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
756
+ *
757
+ * The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice.
758
+ *
759
+ * Service also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following capabilities.
760
+ *
761
+ * - Specify multiple pushpin styles
762
+ * - Render circle, polyline and polygon geometry types.
763
+ *
764
+ * Please see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.
765
+ *
766
+ * _Note_ : Either **center** or **bbox** parameter must be supplied to the
767
+ * API.
768
+ * <br><br>
769
+ * The supported Lat and Lon ranges when using the **bbox** parameter, are as follows:
770
+ * <br><br>
771
+ *
772
+ * |Zoom Level | Max Lon Range | Max Lat Range|
773
+ * |:----------|:----------------|:-------------|
774
+ * |0 | 360.0 | 170.0 |
775
+ * |1 | 360.0 | 170.0 |
776
+ * |2 | 360.0 | 170.0 |
777
+ * |3 | 360.0 | 170.0 |
778
+ * |4 | 360.0 | 170.0 |
779
+ * |5 | 180.0 | 85.0 |
780
+ * |6 | 90.0 | 42.5 |
781
+ * |7 | 45.0 | 21.25 |
782
+ * |8 | 22.5 | 10.625 |
783
+ * |9 | 11.25 | 5.3125 |
784
+ * |10 | 5.625 | 2.62625 |
785
+ * |11 | 2.8125 | 1.328125 |
786
+ * |12 | 1.40625 | 0.6640625 |
787
+ * |13 | 0.703125 | 0.33203125 |
788
+ * |14 | 0.3515625 | 0.166015625 |
789
+ * |15 | 0.17578125 | 0.0830078125 |
790
+ * |16 | 0.087890625 | 0.0415039063 |
791
+ * |17 | 0.0439453125 | 0.0207519531 |
792
+ * |18 | 0.0219726563 | 0.0103759766 |
793
+ * |19 | 0.0109863281 | 0.0051879883 |
794
+ * |20 | 0.0054931641 | 0.0025939941 |
795
+ */
796
+ export declare interface RenderGetMapStaticImage200Response extends HttpResponse {
797
+ status: "200";
798
+ /** Value may contain any sequence of octets */
799
+ body: Uint8Array;
800
+ headers: RawHttpHeaders & RenderGetMapStaticImage200Headers;
801
+ }
802
+
803
+ /**
804
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
805
+ *
806
+ * The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice.
807
+ *
808
+ * Service also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following capabilities.
809
+ *
810
+ * - Specify multiple pushpin styles
811
+ * - Render circle, polyline and polygon geometry types.
812
+ *
813
+ * Please see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.
814
+ *
815
+ * _Note_ : Either **center** or **bbox** parameter must be supplied to the
816
+ * API.
817
+ * <br><br>
818
+ * The supported Lat and Lon ranges when using the **bbox** parameter, are as follows:
819
+ * <br><br>
820
+ *
821
+ * |Zoom Level | Max Lon Range | Max Lat Range|
822
+ * |:----------|:----------------|:-------------|
823
+ * |0 | 360.0 | 170.0 |
824
+ * |1 | 360.0 | 170.0 |
825
+ * |2 | 360.0 | 170.0 |
826
+ * |3 | 360.0 | 170.0 |
827
+ * |4 | 360.0 | 170.0 |
828
+ * |5 | 180.0 | 85.0 |
829
+ * |6 | 90.0 | 42.5 |
830
+ * |7 | 45.0 | 21.25 |
831
+ * |8 | 22.5 | 10.625 |
832
+ * |9 | 11.25 | 5.3125 |
833
+ * |10 | 5.625 | 2.62625 |
834
+ * |11 | 2.8125 | 1.328125 |
835
+ * |12 | 1.40625 | 0.6640625 |
836
+ * |13 | 0.703125 | 0.33203125 |
837
+ * |14 | 0.3515625 | 0.166015625 |
838
+ * |15 | 0.17578125 | 0.0830078125 |
839
+ * |16 | 0.087890625 | 0.0415039063 |
840
+ * |17 | 0.0439453125 | 0.0207519531 |
841
+ * |18 | 0.0219726563 | 0.0103759766 |
842
+ * |19 | 0.0109863281 | 0.0051879883 |
843
+ * |20 | 0.0054931641 | 0.0025939941 |
844
+ */
845
+ export declare interface RenderGetMapStaticImageDefaultResponse extends HttpResponse {
846
+ status: string;
847
+ body: ErrorResponseOutput;
848
+ }
849
+
850
+ export declare type RenderGetMapStaticImageParameters = RenderGetMapStaticImageQueryParam & RequestParameters;
851
+
852
+ export declare interface RenderGetMapStaticImageQueryParam {
853
+ queryParameters?: RenderGetMapStaticImageQueryParamProperties;
854
+ }
855
+
856
+ export declare interface RenderGetMapStaticImageQueryParamProperties {
857
+ /** Map layer requested. If layer is set to labels or hybrid, the format should be png. */
858
+ layer?: "basic" | "hybrid" | "labels";
859
+ /** Map style to be returned. Possible values are main and dark. */
860
+ style?: "main" | "dark";
861
+ /** Desired zoom level of the map. Zoom value must be in the range: 0-20 (inclusive). Default value is 12.<br><br>Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details. */
862
+ zoom?: number;
863
+ /**
864
+ * Coordinates of the center point. Format: 'lon,lat'. Projection used
865
+ * - EPSG:3857. Longitude range: -180 to 180. Latitude range: -85 to 85.
866
+ *
867
+ * Note: Either center or bbox are required parameters. They are
868
+ * mutually exclusive.
869
+ */
870
+ center?: Array<number>;
871
+ /**
872
+ * Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,
873
+ * maxLon, maxLat'.
874
+ *
875
+ * Note: Either bbox or center are required
876
+ * parameters. They are mutually exclusive. It shouldn’t be used with
877
+ * height or width.
878
+ *
879
+ * The maximum allowed ranges for Lat and Lon are defined for each zoom level
880
+ * in the table at the top of this page.
881
+ */
882
+ bbox?: Array<number>;
883
+ /**
884
+ * Height of the resulting image in pixels. Range is 1 to 8192. Default
885
+ * is 512. It shouldn’t be used with bbox.
886
+ */
887
+ height?: number;
888
+ /** Width of the resulting image in pixels. Range is 1 to 8192. Default is 512. It shouldn’t be used with bbox. */
889
+ width?: number;
890
+ /**
891
+ * Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.
892
+ *
893
+ * Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.
894
+ */
895
+ language?: string;
896
+ /**
897
+ * The View parameter (also called the "user region" parameter) allows you to show the correct maps for a certain country/region for geopolitically disputed regions. Different countries/regions have different views of such regions, and the View parameter allows your application to comply with the view required by the country/region your application will be serving. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country/region where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.
898
+ *
899
+ * Please refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.
900
+ */
901
+ view?: "AE" | "AR" | "BH" | "IN" | "IQ" | "JO" | "KW" | "LB" | "MA" | "OM" | "PK" | "PS" | "QA" | "SA" | "SY" | "YE" | "Auto" | "Unified";
902
+ /**
903
+ * Pushpin style and instances. Use this parameter to optionally add pushpins to the image.
904
+ * The pushpin style describes the appearance of the pushpins, and the instances specify
905
+ * the coordinates of the pushpins and optional labels for each pin. (Be sure to properly URL-encode values of this
906
+ * parameter since it will contain reserved characters such as pipes and punctuation.)
907
+ *
908
+ * The Azure Maps account S0 SKU only supports a single instance of the pins parameter. Other SKUs
909
+ * allow multiple instances of the pins parameter to specify multiple pin styles.
910
+ *
911
+ * To render a pushpin at latitude 45°N and longitude 122°W using the default built-in pushpin style, add the
912
+ * querystring parameter
913
+ *
914
+ * `pins=default||-122 45`
915
+ *
916
+ * Note that the longitude comes before the latitude.
917
+ * After URL encoding this will look like
918
+ *
919
+ * `pins=default%7C%7C-122+45`
920
+ *
921
+ * All of the examples here show the pins
922
+ * parameter without URL encoding, for clarity.
923
+ *
924
+ * To render a pin at multiple locations, separate each location with a pipe character. For example, use
925
+ *
926
+ * `pins=default||-122 45|-119.5 43.2|-121.67 47.12`
927
+ *
928
+ * The S0 Azure Maps account SKU only allows five pushpins. Other account SKUs do not have this limitation.
929
+ *
930
+ * ### Style Modifiers
931
+ *
932
+ * You can modify the appearance of the pins by adding style modifiers. These are added after the style but before
933
+ * the locations and labels. Style modifiers each have a two-letter name. These abbreviated names are used to help
934
+ * reduce the length of the URL.
935
+ *
936
+ * To change the color of the pushpin, use the 'co' style modifier and specify the color using the HTML/CSS RGB color
937
+ * format which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use
938
+ * a deep pink color which you would specify as #FF1493 in CSS, use
939
+ *
940
+ * `pins=default|coFF1493||-122 45`
941
+ *
942
+ * ### Pushpin Labels
943
+ *
944
+ * To add a label to the pins, put the label in single quotes just before the coordinates. For example, to label
945
+ * three pins with the values '1', '2', and '3', use
946
+ *
947
+ * `pins=default||'1'-122 45|'2'-119.5 43.2|'3'-121.67 47.12`
948
+ *
949
+ * There is a built in pushpin style called 'none' that does not display a pushpin image. You can use this if
950
+ * you want to display labels without any pin image. For example,
951
+ *
952
+ * `pins=none||'A'-122 45|'B'-119.5 43.2`
953
+ *
954
+ * To change the color of the pushpin labels, use the 'lc' label color style modifier. For example, to use pink
955
+ * pushpins with black labels, use
956
+ *
957
+ * `pins=default|coFF1493|lc000000||-122 45`
958
+ *
959
+ * To change the size of the labels, use the 'ls' label size style modifier. The label size represents the approximate
960
+ * height of the label text in pixels. For example, to increase the label size to 12, use
961
+ *
962
+ * `pins=default|ls12||'A'-122 45|'B'-119 43`
963
+ *
964
+ * The labels are centered at the pushpin 'label anchor.' The anchor location is predefined for built-in pushpins and
965
+ * is at the top center of custom pushpins (see below). To override the label anchor, using the 'la' style modifier
966
+ * and provide X and Y pixel coordinates for the anchor. These coordinates are relative to the top left corner of the
967
+ * pushpin image. Positive X values move the anchor to the right, and positive Y values move the anchor down. For example,
968
+ * to position the label anchor 10 pixels right and 4 pixels above the top left corner of the pushpin image,
969
+ * use
970
+ *
971
+ * `pins=default|la10 -4||'A'-122 45|'B'-119 43`
972
+ *
973
+ * ### Custom Pushpins
974
+ *
975
+ * To use a custom pushpin image, use the word 'custom' as the pin style name, and then specify a URL after the
976
+ * location and label information. Use two pipe characters to indicate that you're done specifying locations and are
977
+ * starting the URL. For example,
978
+ *
979
+ * `pins=custom||-122 45||http://contoso.com/pushpins/red.png`
980
+ *
981
+ * After URL encoding, this would look like
982
+ *
983
+ * `pins=custom%7C%7C-122+45%7C%7Chttp%3A%2F%2Fcontoso.com%2Fpushpins%2Fred.png`
984
+ *
985
+ * By default, custom pushpin images are drawn centered at the pin coordinates. This usually isn't ideal as it obscures
986
+ * the location that you're trying to highlight. To override the anchor location of the pin image, use the 'an'
987
+ * style modifier. This uses the same format as the 'la' label anchor style modifier. For example, if your custom
988
+ * pin image has the tip of the pin at the top left corner of the image, you can set the anchor to that spot by
989
+ * using
990
+ *
991
+ * `pins=custom|an0 0||-122 45||http://contoso.com/pushpins/red.png`
992
+ *
993
+ * Note: If you use the 'co' color modifier with a custom pushpin image, the specified color will replace the RGB
994
+ * channels of the pixels in the image but will leave the alpha (opacity) channel unchanged. This would usually
995
+ * only be done with a solid-color custom image.
996
+ *
997
+ * ### Scale, Rotation, and Opacity
998
+ *
999
+ * You can make pushpins and their labels larger or smaller by using the 'sc' scale style modifier. This is a
1000
+ * value greater than zero. A value of 1 is the standard scale. Values larger than 1 will make the pins larger, and
1001
+ * values smaller than 1 will make them smaller. For example, to draw the pushpins 50% larger than normal, use
1002
+ *
1003
+ * `pins=default|sc1.5||-122 45`
1004
+ *
1005
+ * You can rotate pushpins and their labels by using the 'ro' rotation style modifier. This is a number of degrees
1006
+ * of clockwise rotation. Use a negative number to rotate counter-clockwise. For example, to rotate the pushpins
1007
+ * 90 degrees clockwise and double their size, use
1008
+ *
1009
+ * `pins=default|ro90|sc2||-122 45`
1010
+ *
1011
+ * You can make pushpins and their labels partially transparent by specifying the 'al' alpha style modifier.
1012
+ * This is a number between 0 and 1 indicating the opacity of the pushpins. Zero makes them completely transparent
1013
+ * (and not visible) and 1 makes them completely opaque (which is the default). For example, to make pushpins
1014
+ * and their labels only 67% opaque, use
1015
+ *
1016
+ * `pins=default|al.67||-122 45`
1017
+ *
1018
+ * ### Style Modifier Summary
1019
+ *
1020
+ * Modifier | Description | Range
1021
+ * :--------:|-----------------|------------------
1022
+ * al | Alpha (opacity) | 0 to 1
1023
+ * an | Pin anchor | *
1024
+ * co | Pin color | 000000 to FFFFFF
1025
+ * la | Label anchor | *
1026
+ * lc | Label color | 000000 to FFFFFF
1027
+ * ls | Label size | Greater than 0
1028
+ * ro | Rotation | -360 to 360
1029
+ * sc | Scale | Greater than 0
1030
+ *
1031
+ * * X and Y coordinates can be anywhere within pin image or a margin around it.
1032
+ * The margin size is the minimum of the pin width and height.
1033
+ */
1034
+ pins?: string;
1035
+ /**
1036
+ * Path style and locations. Use this parameter to optionally add lines, polygons or circles to the image.
1037
+ * The path style describes the appearance of the line and fill. (Be sure to properly URL-encode values of this
1038
+ * parameter since it will contain reserved characters such as pipes and punctuation.)
1039
+ *
1040
+ * Path parameter is supported in Azure Maps account SKU starting with S1. Multiple instances of the path parameter
1041
+ * allow to specify multiple geometries with their styles. Number of parameters per request is limited to 10 and
1042
+ * number of locations is limited to 100 per path.
1043
+ *
1044
+ * To render a circle with radius 100 meters and center point at latitude 45°N and longitude 122°W using the default style, add the
1045
+ * querystring parameter
1046
+ *
1047
+ * `path=ra100||-122 45`
1048
+ *
1049
+ * Note that the longitude comes before the latitude.
1050
+ * After URL encoding this will look like
1051
+ *
1052
+ * `path=ra100%7C%7C-122+45`
1053
+ *
1054
+ * All of the examples here show the path parameter without URL encoding, for clarity.
1055
+ *
1056
+ * To render a line, separate each location with a pipe character. For example, use
1057
+ *
1058
+ * `path=||-122 45|-119.5 43.2|-121.67 47.12`
1059
+ *
1060
+ * To render a polygon, last location must be equal to the start location. For example, use
1061
+ *
1062
+ * `path=||-122 45|-119.5 43.2|-121.67 47.12|-122 45`
1063
+ *
1064
+ * Longitude and latitude values for locations of lines and polygons can be in the range from -360 to 360 to allow for rendering of geometries crossing the anti-meridian.
1065
+ *
1066
+ * ### Style Modifiers
1067
+ *
1068
+ * You can modify the appearance of the path by adding style modifiers. These are added before the locations.
1069
+ * Style modifiers each have a two-letter name. These abbreviated names are used to help reduce the length
1070
+ * of the URL.
1071
+ *
1072
+ * To change the color of the outline, use the 'lc' style modifier and specify the color using the HTML/CSS RGB color
1073
+ * format which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use
1074
+ * a deep pink color which you would specify as #FF1493 in CSS, use
1075
+ *
1076
+ * `path=lcFF1493||-122 45|-119.5 43.2`
1077
+ *
1078
+ * Multiple style modifiers may be combined together to create a more complex visual style.
1079
+ *
1080
+ * `lc0000FF|lw3|la0.60|fa0.50||-122.2 47.6|-122.2 47.7|-122.3 47.7|-122.3 47.6|-122.2 47.6`
1081
+ *
1082
+ * ### Style Modifier Summary
1083
+ *
1084
+ * Modifier | Description | Range
1085
+ * :--------:|------------------------|------------------
1086
+ * lc | Line color | 000000 to FFFFFF
1087
+ * fc | Fill color | 000000 to FFFFFF
1088
+ * la | Line alpha (opacity) | 0 to 1
1089
+ * fa | Fill alpha (opacity) | 0 to 1
1090
+ * lw | Line width | Greater than 0
1091
+ * ra | Circle radius (meters) | Greater than 0
1092
+ */
1093
+ path?: string;
1094
+ }
1095
+
1096
+ export declare interface RenderGetMapTile200Headers {
1097
+ /** The content-type for the response. */
1098
+ "content-type"?: string;
1099
+ }
1100
+
1101
+ /**
1102
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1103
+ *
1104
+ * The Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.
1105
+ */
1106
+ export declare interface RenderGetMapTile200Response extends HttpResponse {
1107
+ status: "200";
1108
+ /** Value may contain any sequence of octets */
1109
+ body: Uint8Array;
1110
+ headers: RawHttpHeaders & RenderGetMapTile200Headers;
1111
+ }
1112
+
1113
+ /**
1114
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1115
+ *
1116
+ * The Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.
1117
+ */
1118
+ export declare interface RenderGetMapTileDefaultResponse extends HttpResponse {
1119
+ status: string;
1120
+ body: ErrorResponseOutput;
1121
+ }
1122
+
1123
+ export declare type RenderGetMapTileParameters = RenderGetMapTileQueryParam & RequestParameters;
1124
+
1125
+ export declare interface RenderGetMapTileQueryParam {
1126
+ queryParameters: RenderGetMapTileQueryParamProperties;
1127
+ }
1128
+
1129
+ export declare interface RenderGetMapTileQueryParamProperties {
1130
+ /** A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/en-us/rest/api/maps/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base. */
1131
+ tilesetId: "microsoft.base" | "microsoft.base.labels" | "microsoft.base.hybrid" | "microsoft.terra.main" | "microsoft.base.road" | "microsoft.base.darkgrey" | "microsoft.base.labels.road" | "microsoft.base.labels.darkgrey" | "microsoft.base.hybrid.road" | "microsoft.base.hybrid.darkgrey" | "microsoft.imagery" | "microsoft.weather.radar.main" | "microsoft.weather.infrared.main" | "microsoft.dem" | "microsoft.dem.contours" | "microsoft.traffic.absolute" | "microsoft.traffic.absolute.main" | "microsoft.traffic.relative" | "microsoft.traffic.relative.main" | "microsoft.traffic.relative.dark" | "microsoft.traffic.delay" | "microsoft.traffic.delay.main" | "microsoft.traffic.reduced.main" | "microsoft.traffic.incident";
1132
+ /**
1133
+ * Zoom level for the desired tile.
1134
+ *
1135
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.
1136
+ */
1137
+ zoom: number;
1138
+ /**
1139
+ * X coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
1140
+ *
1141
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
1142
+ */
1143
+ x: number;
1144
+ /**
1145
+ * Y coordinate of the tile on zoom grid. Value must be in the range [0, 2<sup>`zoom`</sup> -1].
1146
+ *
1147
+ * Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.
1148
+ */
1149
+ y: number;
1150
+ /**
1151
+ * The desired date and time of the requested tile. This parameter must be specified in the standard date-time format (e.g. 2019-11-14T16:03:00-08:00), as defined by [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). This parameter is only supported when tilesetId parameter is set to one of the values below.
1152
+ *
1153
+ * * microsoft.weather.infrared.main: We provide tiles up to 3 hours in the past. Tiles are available in 10-minute intervals. We round the timeStamp value to the nearest 10-minute time frame.
1154
+ * * microsoft.weather.radar.main: We provide tiles up to 1.5 hours in the past and up to 2 hours in the future. Tiles are available in 5-minute intervals. We round the timeStamp value to the nearest 5-minute time frame.
1155
+ */
1156
+ timeStamp?: Date | string;
1157
+ /** The size of the returned map tile in pixels. */
1158
+ tileSize?: "256" | "512";
1159
+ /**
1160
+ * Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.
1161
+ *
1162
+ * Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.
1163
+ */
1164
+ language?: string;
1165
+ /**
1166
+ * The View parameter (also called the "user region" parameter) allows you to show the correct maps for a certain country/region for geopolitically disputed regions. Different countries/regions have different views of such regions, and the View parameter allows your application to comply with the view required by the country/region your application will be serving. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country/region where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.
1167
+ *
1168
+ * Please refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.
1169
+ */
1170
+ view?: "AE" | "AR" | "BH" | "IN" | "IQ" | "JO" | "KW" | "LB" | "MA" | "OM" | "PK" | "PS" | "QA" | "SA" | "SY" | "YE" | "Auto" | "Unified";
1171
+ }
1172
+
1173
+ /**
1174
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1175
+ *
1176
+ * The Get Map Tileset API allows users to request metadata for a tileset.
1177
+ */
1178
+ export declare interface RenderGetMapTileset200Response extends HttpResponse {
1179
+ status: "200";
1180
+ body: MapTilesetOutput;
1181
+ }
1182
+
1183
+ /**
1184
+ * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1185
+ *
1186
+ * The Get Map Tileset API allows users to request metadata for a tileset.
1187
+ */
1188
+ export declare interface RenderGetMapTilesetDefaultResponse extends HttpResponse {
1189
+ status: string;
1190
+ body: ErrorResponseOutput;
1191
+ }
1192
+
1193
+ export declare type RenderGetMapTilesetParameters = RenderGetMapTilesetQueryParam & RequestParameters;
1194
+
1195
+ export declare interface RenderGetMapTilesetQueryParam {
1196
+ queryParameters: RenderGetMapTilesetQueryParamProperties;
1197
+ }
1198
+
1199
+ export declare interface RenderGetMapTilesetQueryParamProperties {
1200
+ /** A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/en-us/rest/api/maps/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base. */
1201
+ tilesetId: "microsoft.base" | "microsoft.base.labels" | "microsoft.base.hybrid" | "microsoft.terra.main" | "microsoft.base.road" | "microsoft.base.darkgrey" | "microsoft.base.labels.road" | "microsoft.base.labels.darkgrey" | "microsoft.base.hybrid.road" | "microsoft.base.hybrid.darkgrey" | "microsoft.imagery" | "microsoft.weather.radar.main" | "microsoft.weather.infrared.main" | "microsoft.dem" | "microsoft.dem.contours" | "microsoft.traffic.absolute" | "microsoft.traffic.absolute.main" | "microsoft.traffic.relative" | "microsoft.traffic.relative.main" | "microsoft.traffic.relative.dark" | "microsoft.traffic.delay" | "microsoft.traffic.delay.main" | "microsoft.traffic.reduced.main" | "microsoft.traffic.incident";
1202
+ }
1203
+
1204
+ export declare interface Routes {
1205
+ /** Resource for '/map/tile' has methods for the following verbs: get */
1206
+ (path: "/map/tile"): GetMapTile;
1207
+ /** Resource for '/map/tileset' has methods for the following verbs: get */
1208
+ (path: "/map/tileset"): GetMapTileset;
1209
+ /** Resource for '/map/attribution' has methods for the following verbs: get */
1210
+ (path: "/map/attribution"): GetMapAttribution;
1211
+ /** Resource for '/map/statetile' has methods for the following verbs: get */
1212
+ (path: "/map/statetile"): GetMapStateTile;
1213
+ /** Resource for '/map/copyright/caption/\{format\}' has methods for the following verbs: get */
1214
+ (path: "/map/copyright/caption/{format}", format: "json" | "xml"): GetCopyrightCaption;
1215
+ /** Resource for '/map/static/\{format\}' has methods for the following verbs: get */
1216
+ (path: "/map/static/{format}", format: "png"): GetMapStaticImage;
1217
+ /** Resource for '/map/copyright/bounding/\{format\}' has methods for the following verbs: get */
1218
+ (path: "/map/copyright/bounding/{format}", format: "json" | "xml"): GetCopyrightFromBoundingBox;
1219
+ /** Resource for '/map/copyright/tile/\{format\}' has methods for the following verbs: get */
1220
+ (path: "/map/copyright/tile/{format}", format: "json" | "xml"): GetCopyrightForTile;
1221
+ /** Resource for '/map/copyright/world/\{format\}' has methods for the following verbs: get */
1222
+ (path: "/map/copyright/world/{format}", format: "json" | "xml"): GetCopyrightForWorld;
1223
+ }
1224
+
1225
+ export { }