錶面格式的天氣資料

自第 2 版起,錶面格式支援天氣資料。 這項資料涵蓋多種指標和時間範圍,從目前的條件到每小時與每日預測一應俱全。

使用運算式存取天氣。舉例來說,如要在 <Text> 元素中顯示目前的天氣條件,請使用類似於以下的運算式:

<Text>
  <Font family="SYNC_TO_DEVICE" size="32">
    <Template>Today's weather: %s
        <Parameter expression="[WEATHER.CONDITION_NAME]"/>
    </Template>
  </Font>
</Text>

適用國家/地區

錶面應一律先檢查 [WEATHER.IS_AVAILABLE] 值,再存取 [WEATHER.*] 物件的其他成員:

<Condition>
  <Expressions>
    <Expression name="is_weather_available">[WEATHER.IS_AVAILABLE]</Expression>
  </Expressions>
  <Compare expression="is_weather_available">
    <!-- Weather is available, so show the weather data. -->
  </Compare>
  <Default>
    <!-- Weather isn't available, so show an appropriate message. -->
  </Default>
</Condition>

此外,錶面應檢查 [WEATHER.IS_ERROR],這表示載入天氣資料時發生錯誤。

請注意,[WEATHER.IS_AVAILABLE][WEATHER.IS_ERROR] 可以是 true,亦即資料過時,且嘗試重新整理資料失敗。在這種情況下,系統會顯示可用的天氣和指標,指出擷取新資料時發生錯誤。

資料更新間隔

您可以使用 [WEATHER.LAST_UPDATED] 存取可用資料的時間戳記,這個時間戳記是以毫秒為單位的 Unix Epoch 紀元時間戳記。

您可以使用 icuText(,) 方法設定這個值的格式,取得人類可讀的表示法,如天氣範例中所示。

天候不佳

[WEATHER.CONDITION] 提供目前條件,包含可理解的 [WEATHER.CONDITION_NAME] 版本。

[WEATHER.CONDITION]」的值會顯示在資料來源中。例如,4 代表 HEAVY_RAIN

其他指標

錶面格式提供各種其他指標,例如 [WEATHER.TEMPERATURE][WEATHER.UV_INDEX]。如需可用指標的完整詳細資料 (包括單位和資料類型),請參閱資料來源參考資料頁面。

每小時和每日天氣預報

您可以按照下列方式,存取未來特定時段或日期的預測條件:

  • [WEATHER.HOURS.1.CONDITION] - 預測條件為從現在起 1 小時後。
  • [WEATHER.DAYS.2.CONDITION] - 預測條件將在 2 天後開始。

每小時資料最多可提供 8 小時,而每日資料最多可達 5 天。不過,錶面應一律檢查是否提供預測資料。時段或天數的範圍可能不同,或設定的裝置也可能不同。例如,如要檢查 1 小時後是否可取得預測資料,請使用 [WEATHER.HOURS.1.IS_AVAILABLE]

每日和每小時預測資料還提供一系列指標,例如 [WEATHER.HOURS.<N>.TEMPERATURE][WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]。如需可用指標的完整詳細資料 (包括單位和資料類型),請參閱資料來源參考資料頁面。

測試天氣資料

如要取得天氣資料,Wear OS 裝置必須存取裝置的位置資訊。

為了節省電力,手錶不會使用內建 GPS 感應器來確定天氣預報的位置,而是仰賴已連線手持裝置或可用網路的位置資訊。

如要測試位置資料,請執行下列其中一項操作:

adb unroot
adb shell cmd location set-location-enabled true
adb root
adb shell appops set 0 android:mock_location allow
adb shell cmd location providers add-test-provider gps
adb shell cmd location providers set-test-provider-enabled gps true
adb shell cmd location providers set-test-provider-location gps --location 37.773972,-122.431297

更多詳細資料

如需存取及轉譯天氣資料的完整範例,請參閱 GitHub 範例