錶面格式的天氣資料

自第 2 版起,錶面格式支援天氣資料。這項資料涵蓋各種指標和時間範圍,從目前天氣狀況到每小時和每日預報都有。

天氣資訊是透過運算式存取。舉例來說,如要在 <Text> 元素中顯示目前的天氣狀況,請使用類似下列的運算式:

<PartText x="100" y="100" width="200" height="50">
    <Text>
        <Font family="SYNC_TO_DEVICE" size="16">
            <Template><![CDATA[Today's weather: %s]]>
                <Parameter expression="[WEATHER.CONDITION_NAME]"/>
            </Template>
        </Font>
    </Text>
</PartText>

適用地區

存取 [WEATHER.*] 物件的其他成員前,請檢查 [WEATHER.IS_AVAILABLE] 值:

<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 紀元時間戳記。

您可以使用 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 範例