1

我正在用 PHP 创建一个天气页面。

用户在搜索表单中输入城市/地名,我在 where.yahooapis 中搜索他的输入以找到 5 个最相关的 woeid。

(即 http://where.yahooapis.com/v1/places.q("Rethimno");start=0;count=5?appid=...)

然后我在一个单选按钮列表中显示 5 个顶级亲属结果。用户从列表中选择一个城市/地点,我从 weather.yahooapis 中获取他选择的天气数据。

(即http://weather.yahooapis.com/forecastrss?w=961110)

我注意到有“placeTypeName”代码=“7”(即城镇)的woeids,没有天气数据。(即 961110)

有没有办法从 where.yahooapis 响应中知道某个地方的天气数据是否存在,这样我就不会将它包含在单选按钮列表中,或者知道这一点的唯一方法是对天气发出 http 请求。 yahooapis 并解析错误响应?

(即<title/>雅虎天气-错误...)

4

1 回答 1

2

我认为没有发送http请求没有其他方法可以做到这一点。另一种选择是在显示之前检查所有 5 个城市,但我知道这不是一个很好的解决方案。

但我认为显示“此位置的无天气数据”比不显示该位置更有意义。

对于 Intranet 小部件,我也遇到了类似的情况。我曾经手动检查和删除没有天气数据的地方(从预定义的城市列表中)但是用户希望我添加它,因为当他们在小部件中找不到城市名称时,他们接下来会检查没有天气数据的雅虎天气网站(或weather.com)。因此,为了防止用户付出额外的努力,我不得不将城市添加到列表中。

于 2010-02-19T12:09:54.720 回答