首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雅虎天气WebService

雅虎天气WebService
EN

Stack Overflow用户
提问于 2011-01-11 17:45:31
回答 1查看 10.9K关注 0票数 3

我试图找到一种方法来获取一些天气信息与雅虎天气使用雅虎查询语言。

由于我居住在法国,在一个名为Nice的城市,下面的查询返回一个错误:

代码语言:javascript
复制
select * from weather.forecast where location='Nice'

我有经纬度协调,所以我怎样才能给他们YQL返回天气信息?这是全球范围内的服务,还是仅针对美国的服务?

EN

回答 1

Stack Overflow用户

发布于 2011-01-12 00:50:14

您应该使用另一个YQL datatable。我尝试过这个查询,它运行得很好:

代码语言:javascript
复制
SELECT * FROM weather.bylocation WHERE location='Nice' AND unit="c"

这是YQL控制台

我增加了unit="c",让它达到摄氏,假设你想要它。如果没有,则使用"f“。

在内部,weather.bylocation表使用以下两种方法:

  1. 查找该位置的“where on earth标识符(woeid)”,
  2. 然后查找这个id的天气。

见下表的内部情况:

代码语言:javascript
复制
    <execute><![CDATA[
      default xml namespace ='http://where.yahooapis.com/v1/schema.rng'; 
      var x = y.query('select woeid from geo.places(1) where text="'+location+'"');
      var s = x.results;
      var woeid = s..woeid;
      var weather = y.rest('http://weather.yahooapis.com/forecastrss?w='+woeid+'&u='+unit).get().response;
      response.object = <weather>{weather}</weather>;
    ]]></execute>

关于你关于纬度和经度协调使用的第二个问题:我不知道你是否可以使用它们,但也许你现在甚至不需要这个了,对吧?

阅读也很好:

http://developer.yahoo.com/weather/

http://developer.yahoo.com/geo/geoplanet/guide/concepts.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4660751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档