从Dark Sky迁移至Apple WeatherKit API后仅返回摄氏度的问题
解决WeatherKit API返回摄氏度而非华氏度的问题
检查请求头的
Accept-Language字段:WeatherKit的单位适配可能依赖HTTP请求头的语言区域设置,确保请求头里的Accept-Language值为en-US(标准HTTP格式用短横线,而非URL里的下划线),部分请求库默认的en_US可能无法触发正确的单位逻辑。显式添加
units参数强制指定单位:直接在请求URL中追加units=imperial参数,就能强制返回英制单位(包含华氏度)。修改后的请求URL示例:https://weatherkit.apple.com/api/v1/weather/en_US/45.6270162/-122.6808005?countryCode=US&timezone=America%2FLos_Angeles&dataSets=currentWeather&units=imperial若需要公制单位则用
units=metric,显式指定参数可以完全覆盖服务器的自动判断逻辑。排查IP地址的影响:如果测试时的IP地址不在美国境内,WeatherKit可能会基于IP归属地 fallback 到对应单位体系。可以切换到美国本地网络环境测试,或者直接用
units参数跳过这种自动适配。
内容的提问来源于stack exchange,提问作者Talk Nerdy To Me
相关产品推荐
相关产品推荐

