2010-02-19 80 views
1

我正在PHP中创建天气页面。了解是否存在来自where.yahooapis的雅虎天气数据

用户在搜索表单中输入城市/地点名称,然后在where.yahooapis中搜索他的输入以查找5个最重要的相关woeids。

(即HTTP:// where.yahooapis.com/v1/places.q("Rethimno“);开始= 0;计数= 5的appid = ...)

然后我呈现5?顶级亲戚会得到一个单选按钮列表。用户从列表中选择一个城市/地点,然后从weather.yahooapis中获取他选择的天气数据。

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

我注意到,存在与“placeTypeName”代码= “7”(即城)woeids对于其中不存在天气数据。 (即961110)

有没有办法从where.yahooapis响应中知道某个地点的天气数据是否存在,这样我就不会将其包含在单选按钮列表中,或者只有这样才能知道是通过对weather.yahooapis执行http请求并解析错误的响应?

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

回答

2

我觉得没有其他办法做到这一点不发送HTTP请求。另一个选项是在显示它们之前检查所有5个城市,但我知道这不是一个很好的解决方案。

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

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