createMap method

Future<CreateMapResponse> createMap({
  1. required MapConfiguration configuration,
  2. required String mapName,
  3. String? description,
  4. PricingPlan? pricingPlan,
  5. Map<String, String>? tags,
})
Creates a map resource in your Amazon Web Services account, which provides map tiles of different styles sourced from global location data providers.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter configuration : Specifies the MapConfiguration, including the map style, for the map resource that you create. The map style defines the look of maps and the data provider for your map resource.

Parameter mapName : The name for the map resource.

Requirements:

  • Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).
  • Must be a unique map resource name.
  • No spaces allowed. For example, ExampleMap.

Parameter description : An optional description for the map resource.

Parameter pricingPlan : No longer used. If included, the only allowed value is RequestBasedUsage.

Parameter tags : Applies one or more tags to the map resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: "key" : "value"

Restrictions:

  • Maximum 50 tags per resource
  • Each resource tag must be unique with a maximum of one value.
  • Maximum key length: 128 Unicode characters in UTF-8
  • Maximum value length: 256 Unicode characters in UTF-8
  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.
  • Cannot use "aws:" as a prefix for a key.

Implementation

Future<CreateMapResponse> createMap({
  required MapConfiguration configuration,
  required String mapName,
  String? description,
  PricingPlan? pricingPlan,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'Configuration': configuration,
    'MapName': mapName,
    if (description != null) 'Description': description,
    if (pricingPlan != null) 'PricingPlan': pricingPlan.value,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/maps/v0/maps',
    exceptionFnMap: _exceptionFns,
  );
  return CreateMapResponse.fromJson(response);
}