There are more AWS SDK examples available in the AWS Doc SDK Examples
Use PutGeofence with an AWS SDK
The following code examples show how to use PutGeofence.
Action examples are code excerpts from larger programs and must be run in context. You can see this action in context in the following code example:
- Java
-
- SDK for Java 2.x
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository
. /** * Adds a new geofence to the specified collection. * * @param collectionName the name of the geofence collection to add the geofence to * @param geoId the unique identifier for the geofence */ public CompletableFuture<PutGeofenceResponse> putGeofence(String collectionName, String geoId) { // Define the geofence geometry (polygon). GeofenceGeometry geofenceGeometry = GeofenceGeometry.builder() .polygon(List.of( List.of( List.of(-122.3381, 47.6101), // First point List.of(-122.3281, 47.6101), List.of(-122.3281, 47.6201), List.of(-122.3381, 47.6201), List.of(-122.3381, 47.6101) // Closing the polygon ) )) .build(); PutGeofenceRequest geofenceRequest = PutGeofenceRequest.builder() .collectionName(collectionName) // Specify the collection. .geofenceId(geoId) // Unique ID for the geofence. .geometry(geofenceGeometry) .build(); return getClient().putGeofence(geofenceRequest) .whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception.getCause(); if (cause instanceof ValidationException) { throw new CompletionException("Validation error while creating geofence: " + cause.getMessage(), cause); } throw new CompletionException("Error creating geofence: " + exception.getMessage(), exception); } }); }-
For API details, see PutGeofence in AWS SDK for Java 2.x API Reference.
-
- JavaScript
-
- SDK for JavaScript (v3)
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository
. import { fileURLToPath } from "node:url"; import { PutGeofenceCommand, LocationClient, ValidationException, } from "@aws-sdk/client-location"; import data from "./inputs.json" with { type: "json" }; const region = "eu-west-1"; const locationClient = new LocationClient({ region: region }); export const main = async () => { const geoFenceGeoParams = { CollectionName: `${data.inputs.collectionName}`, GeofenceId: `${data.inputs.geoId}`, Geometry: { Polygon: [ [ [-122.3381, 47.6101], [-122.3281, 47.6101], [-122.3281, 47.6201], [-122.3381, 47.6201], [-122.3381, 47.6101], ], ], }, }; try { const command = new PutGeofenceCommand(geoFenceGeoParams); const response = await locationClient.send(command); console.log("GeoFence created. GeoFence ID is: ", response.GeofenceId); } catch (error) { console.error( `A validation error occurred while creating geofence: ${error} \n Exiting program.`, ); return; } };-
For API details, see PutGeofence in AWS SDK for JavaScript API Reference.
-
- Kotlin
-
- SDK for Kotlin
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository
. /** * Adds a new geofence to the specified collection. * * @param collectionName the name of the geofence collection to add the geofence to * @param geoId the unique identifier for the geofence */ suspend fun putGeofence(collectionName: String, geoId: String) { val geofenceGeometry = GeofenceGeometry { polygon = listOf( listOf( listOf(-122.3381, 47.6101), listOf(-122.3281, 47.6101), listOf(-122.3281, 47.6201), listOf(-122.3381, 47.6201), listOf(-122.3381, 47.6101), ), ) } val geofenceRequest = PutGeofenceRequest { this.collectionName = collectionName this.geofenceId = geoId this.geometry = geofenceGeometry } LocationClient.fromEnvironment { region = "us-east-1" }.use { client -> client.putGeofence(geofenceRequest) } }-
For API details, see PutGeofence
in AWS SDK for Kotlin API reference.
-