Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

AWS::Location Construct Library

---

cdk-constructs: Experimental

The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


This module is part of the AWS Cloud Development Kit project.

Amazon Location Service lets you add location data and functionality to applications, which includes capabilities such as maps, points of interest, geocoding, routing, geofences, and tracking. Amazon Location provides location-based services (LBS) using high-quality data from global, trusted providers Esri and HERE. With affordable data, tracking and geofencing capabilities, and built-in metrics for health monitoring, you can build sophisticated location-enabled applications.

Geofence Collection

Geofence collection resources allow you to store and manage geofences—virtual boundaries on a map. You can evaluate locations against a geofence collection resource and get notifications when the location update crosses the boundary of any of the geofences in the geofence collection.

# key: kms.Key


location.GeofenceCollection(self, "GeofenceCollection",
    geofence_collection_name="MyGeofenceCollection",  # optional, defaults to a generated name
    kms_key=key
)

Use the grant() or grantRead() method to grant the given identity permissions to perform actions on the geofence collection:

# role: iam.Role


geofence_collection = location.GeofenceCollection(self, "GeofenceCollection",
    geofence_collection_name="MyGeofenceCollection"
)

geofence_collection.grant_read(role)

Tracker

A tracker stores position updates for a collection of devices. The tracker can be used to query the devices' current location or location history. It stores the updates, but reduces storage space and visual noise by filtering the locations before storing them.

For more information, see Trackers.

To create a tracker, define a Tracker:

# key: kms.Key


location.Tracker(self, "Tracker",
    tracker_name="MyTracker",  # optional, defaults to a generated name
    kms_key=key
)

Use the grant(), grantUpdateDevicePositions() or grantRead() method to grant the given identity permissions to perform actions on the geofence collection:

# role: iam.Role


tracker = location.Tracker(self, "Tracker",
    tracker_name="MyTracker"
)

tracker.grant_read(role)

If you want to associate a tracker with geofence collections, define a geofenceCollections property or use the addGeofenceCollections() method.

# geofence_collection: location.GeofenceCollection
# geofence_collection_for_add: location.GeofenceCollection
# tracker: location.Tracker


tracker = location.Tracker(self, "Tracker",
    tracker_name="MyTracker",
    geofence_collections=[geofence_collection]
)

tracker.add_geofence_collections(geofence_collection_for_add)

API key

API keys are a key value that is associated with specific Amazon Location Service resources or API in your AWS account, and specific actions that you can perform on those resources. You can use an API key in your application to make unauthenticated calls to the Amazon Location APIs for those resources.

For more information, see Use API keys to authenticate.

To create an API key, define an ApiKey:

location.ApiKey(self, "APIKeyAny",
    # specify allowed actions
    allow_maps_actions=[location.AllowMapsAction.GET_STATIC_MAP
    ],
    allow_places_actions=[location.AllowPlacesAction.GET_PLACE
    ],
    allow_routes_actions=[location.AllowRoutesAction.CALCULATE_ISOLINES
    ]
)

Note: ApiKey construct only supports Enhanced Places, Routes, and Maps This API key grants access to AWS-managed Places, Routes, and Maps.

Legacy Resources

AWS has released new Enhanced Places, Routes, and Maps. Since these use AWS-managed resources, users no longer need to create Maps, Places, and Routes resources themselves.

As a result, the following constructs are now considered legacy.

For more information, see developer guide.

Map

The Amazon Location Service Map resource gives you access to the underlying basemap data for a map. You use the Map resource with a map rendering library to add an interactive map to your application. You can add other functionality to your map, such as markers (or pins), routes, and polygon areas, as needed for your application.

For information about how to use map resources in practice, see Using Amazon Location Maps in your application.

To create a map, define a Map:

location.Map(self, "Map",
    map_name="my-map",
    style=location.Style.VECTOR_ESRI_NAVIGATION,
    custom_layers=[location.CustomLayer.POI]
)

Use the grant() or grantRendering() method to grant the given identity permissions to perform actions on the map:

# role: iam.Role


map = location.Map(self, "Map",
    style=location.Style.VECTOR_ESRI_NAVIGATION
)
map.grant_rendering(role)

Place Index

A key function of Amazon Location Service is the ability to search the geolocation information. Amazon Location provides this functionality via the Place index resource. The place index includes which data provider to use for the search.

To create a place index, define a PlaceIndex:

location.PlaceIndex(self, "PlaceIndex",
    place_index_name="MyPlaceIndex",  # optional, defaults to a generated name
    data_source=location.DataSource.HERE
)

Use the grant() or grantSearch() method to grant the given identity permissions to perform actions on the place index:

# role: iam.Role


place_index = location.PlaceIndex(self, "PlaceIndex")
place_index.grant_search(role)

Route Calculator

Route calculator resources allow you to find routes and estimate travel time based on up-to-date road network and live traffic information from your chosen data provider.

For more information, see Routes.

To create a route calculator, define a RouteCalculator:

location.RouteCalculator(self, "RouteCalculator",
    route_calculator_name="MyRouteCalculator",  # optional, defaults to a generated name
    data_source=location.DataSource.ESRI
)

Use the grant() or grantRead() method to grant the given identity permissions to perform actions on the route calculator:

# role: iam.Role


route_calculator = location.RouteCalculator(self, "RouteCalculator",
    data_source=location.DataSource.ESRI
)
route_calculator.grant_read(role)

Release files for aws-cdk.aws-location-alpha 2.270.0a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-cdk.aws-location-alpha 2.270.0a0
File Size Uploaded
aws_cdk_aws_location_alpha-2.270.0a0.tar.gz 128.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-cdk.aws-location-alpha 2.270.0a0
File Interpreter ABI Platform
aws_cdk_aws_location_alpha-2.270.0a0-py3-none-any.whl Python 3 none any Details

Total release size: 255.7 kB

Release files / aws_cdk_aws_location_alpha-2.270.0a0.tar.gz

Download URL aws_cdk_aws_location_alpha-2.270.0a0.tar.gz
Size 128.1 kB
Tags Source
SHA-256 checksum
How to use checksums
70c0ae77cb3339c917325f55642ed33b6447f60ce218d8b30731f329bb63ad0c
BLAKE2b-256 checksum
How to use checksums
8a5826356bebaeb9160e8b65a920b0ffc321d9f59b300ee6e0155d6a692b7928
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / aws_cdk_aws_location_alpha-2.270.0a0-py3-none-any.whl

Download URL aws_cdk_aws_location_alpha-2.270.0a0-py3-none-any.whl
Size 127.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2063f4f423eb2b234b1044cde64a81d97d2e972eaa71b7fa806cb70cb922da9
BLAKE2b-256 checksum
How to use checksums
2336c8e4bdf9bce6da38df328d4993a3113f37739a3fd8fa81501aec507309d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

2.270.0a0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page