

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

# 使用设备位置更新跟踪器
<a name="send-location-updates"></a>

要追踪您的设备，您可以将设备位置更新发布到跟踪器。您稍后可以从您的跟踪器资源中检索这些设备位置或设备位置历史记录。

每次位置更新都必须包括设备 ID、时间戳和位置。您可以选择添加其他元数据，包括精度和最多 3 个键值对供您自己使用。

如果您的跟踪器关联到一个或多个地理围栏集合，则系统将根据这些地理围栏对更新进行评估（遵循您为跟踪器指定的过滤规则）。如果设备突破了地理围栏区域（从该区域内部移动到外部，反之亦然），您将在其中收到事件。 EventBridge这些 `ENTER` 或 `EXIT` 事件包括位置更新详细信息，包括设备 ID、时间戳和任何相关的元数据。

**注意**  
有关位置筛选的更多信息，请参阅 [创建跟踪器](start-create-tracker.md)。  
有关地理围栏事件的更多信息，请参阅 [使用亚马逊对亚马逊定位服务事件做出反应 EventBridge](location-events.md)。

使用以下任一方法发送设备更新：
+ 向 Io@@ [T Core 资源发送 MQT AWS T 更新](tracking-using-mqtt.md)并将其链接到您的跟踪器资源。
+ 使用亚马逊位置追踪器 API AWS CLI、或亚马逊位置来发送位置 APIs更新。您可以使用 APIs 从 iOS 或 Android 应用程序中调用。[AWS SDKs](dev-sdks.md)

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

**使用 Amazon 位置发送职位更新 APIs**

使用 Amazon 位置追踪器 APIs中的`[BatchUpdateDevicePosition](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_BatchUpdateDevicePosition.html)`操作。

以下示例使用 API 请求向跟踪链接发布设备位置更新*ExampleTracker*。*ExampleDevice*

```
POST /tracking/v0/trackers/ExampleTracker/positions
Content-type: application/json
{
 "Updates": [
    {
    "DeviceId": "1",
    "Position": [
   -123.12245146162303, 49.27521118043802
    ],
    "SampleTime": "2022-10-24T19:09:07.327Z",
     "PositionProperties": { 
            "name" : "device1" 
         },
         "Accuracy": { 
            "Horizontal": 10
         }
    },

    {
    "DeviceId": "2",
    "Position": [
   -123.1230104928471, 49.27752402723152
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "3",
    "Position": [
    -123.12325592118916, 49.27340530543111
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "4",
    "Position": [
    -123.11958813096311, 49.27774641063121
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "5",
    "Position": [
    -123.1277418058896, 49.2765989015285
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "6",
    "Position": [
   -123.11964267059481, 49.274188155916534
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    }
    ]
}
```

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

**使用 AWS CLI 命令发送位置更新**

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

以下示例使用 AWS CLI 向跟踪器发布*ExampleDevice-1*和*ExampleDevice-2*向跟踪器发布设备位置更新*ExampleTracker*。

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

------