

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

# 根据地理围栏评估设备位置
<a name="evaluate-geofences"></a>

有两种方法可以根据地理围栏评估位置以生成地理围栏事件：
+ 您可以关联跟踪器和地理围栏集合。想要了解更多信息，请参阅 [将跟踪器关联到地理围栏集合](associate-consumer.md) 部分。
+ 您可以直接向地理围栏集合资源提出请求，以评估一个或多个位置。

如果您还想跟踪设备位置记录或在地图上显示位置，请将跟踪器链接到地理围栏集合。或者，您可能不想评估所有位置更新，或者您不打算将位置数据存储在跟踪器资源中。如果是其中任何一种情况，则可以直接向地理围栏集合发出请求，并根据其地理围栏评估一个或多个设备的位置。

根据地理围栏评估设备位置会生成事件。您可以对这些事件做出反应并将其路由到其他 AWS 服务。有关接收地理围栏事件时可以采取的操作的更多信息，请参阅通过[亚马逊对亚马逊定位服务事件做出反应](https://docs.aws.amazon.com/location/latest/developerguide/location-events.html)。 EventBridge

Amazon Location 事件包括生成该事件的设备位置更新的属性，包括时间、位置、准确性和键值元数据，以及进入或退出的地理围栏的一些属性。有关地理围栏事件中包含的数据的更多信息，请参阅 [亚马逊定位服务（Amazon Location Service） EventBridge 的事件示例](location-events.md#example-event)。

以下示例使用或 AWS CLI Amazon 地点 APIs。

------
#### [ API ]

**使用 Amazon 位置根据地理围栏的位置评估设备位置 APIs**

使用 Amazon 定位地理围 APIs栏中的`[BatchEvaluateGeofences](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointGeofencing_BatchEvaluateGeofences.html)`操作。

以下示例使用 API 请求来评估设备*ExampleDevice*在关联的地理围栏集合中的位置。*ExampleGeofenceCollection*将这些值替换为您自己的地理围栏和设备。 IDs

```
POST /geofencing/v0/collections/ExampleGeofenceCollection/positions HTTP/1.1
Content-type: application/json

{
   "DevicePositionUpdates": [ 
      { 
         "DeviceId": "ExampleDevice",
         "Position": [-123.123, 47.123],
         "SampleTime": "2021-11-30T21:47:25.149Z",
         "Accuracy": {
            "Horizontal": 10.30
         },
         "PositionProperties": {
            "field1": "value1",
            "field2": "value2"
         }
      }
   ]
}
```

------
#### [ AWS CLI ]

**使用命令根据地理围栏的位置评估设备位置 AWS CLI **

使用 `[batch-evaluate-geofences](https://docs.aws.amazon.com/cli/latest/reference/location/batch-evaluate-geofences.html)` 命令。

以下示例使用 AWS CLI 来评估*ExampleDevice*相对于关联的地理围栏集合的位置。*ExampleGeofenceCollection*将这些值替换为您自己的地理围栏和设备。 IDs

```
aws location \
    batch-evaluate-geofences \
        --collection-name ExampleGeofenceCollection \
        --device-position-updates '[{"DeviceId":"ExampleDevice","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'
```

------