与 AWS SDK PutGeofence 配合使用 - AWS SDK 代码示例

文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与 AWS SDK PutGeofence 配合使用

以下代码示例演示如何使用 PutGeofence

Java
适用于 Java 的 SDK 2.x
注意

还有更多相关信息 GitHub。在 AWS 代码示例存储库中查找完整示例,了解如何进行设置和运行。

/** * 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); } }); }
  • 有关 API 的详细信息,请参阅 AWS SDK for Java 2.x API 参考PutGeofence中的。

JavaScript
适用于 JavaScript (v3) 的软件开发工具包
注意

还有更多相关信息 GitHub。在 AWS 代码示例存储库中查找完整示例,了解如何进行设置和运行。

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; } };
  • 有关 API 的详细信息,请参阅 适用于 JavaScript 的 AWS SDK API 参考PutGeofence中的。

Kotlin
适用于 Kotlin 的 SDK
注意

还有更多相关信息 GitHub。在 AWS 代码示例存储库中查找完整示例,了解如何进行设置和运行。

/** * 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 { region = "us-east-1" }.use { client -> client.putGeofence(geofenceRequest) } }
  • 有关 API 的详细信息,请参阅适用PutGeofence于 K otlin 的AWS SDK API 参考