

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用裝置位置更新追蹤器
<a name="send-location-updates"></a>

若要追蹤裝置，您可以將裝置位置更新發佈至追蹤器。您稍後可以從追蹤器資源擷取這些裝置位置或裝置位置歷史記錄。

每個位置更新都必須包含裝置 ID、時間戳記 和位置。您可以選擇性地包含其他中繼資料，包括準確性和最多 3 個金鑰/值對供您自己使用。

如果您的追蹤器連結到一或多個地理圍欄集合，則會針對這些地理圍欄評估更新 （遵循您為追蹤器指定的篩選規則）。如果裝置違反地理圍欄區域 （透過從區域內移至外部，反之亦然），您會在 EventBridge 中收到事件。這些 `ENTER` 或 `EXIT`事件包括位置更新詳細資訊，包括裝置 ID、時間戳記和任何相關聯的中繼資料。

**注意**  
如需位置篩選的詳細資訊，請參閱 [建立追蹤器](start-create-tracker.md)。  
如需地理圍欄事件的詳細資訊，請參閱 [使用 Amazon EventBridge 對 Amazon Location Service 事件做出反應](location-events.md)。

使用下列其中一種方法來傳送裝置更新：
+ [將 MQTT 更新](tracking-using-mqtt.md)傳送至 AWS IoT Core 資源，並將其連結至您的追蹤器資源。
+ 使用 或 Amazon Location API，使用 Amazon Location Trackers APIs AWS CLI傳送位置更新。您可以使用 [AWS SDKs](dev-sdks.md) 從 iOS 或 Android 應用程式呼叫 APIs。

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

**使用 Amazon Location APIs 傳送位置更新**

從 Amazon Location Trackers APIs使用 `[BatchUpdateDevicePosition](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_BatchUpdateDevicePosition.html)`操作。

下列範例使用 API 請求，將 *ExampleDevice* 的裝置位置更新發佈至追蹤器 *ExampleTracker*。

```
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"}}]'
```

------