我正在尝试使用Yahoo Query Language找到使用Yahoo Weather获取天气信息的方法。
当我居住在法国的一个名为Nice的城市时,以下查询会返回错误:
select * from weather.forecast where location='Nice'
我有经纬度协调,所以如何让他们给YQL返回天气信息?这项服务是全球性的还是仅针对美国的?
答案 0 :(得分:4)
您应该使用另一个YQL数据表。我尝试了这个查询,它工作正常:
SELECT * FROM weather.bylocation WHERE location='Nice' AND unit="c"
我已添加unit="c"
以将其设为Celsius,假设您需要它。如果没有,请使用“f”。
weather.bylocation
表在内部使用以下两项内容:
woeid
),请参阅下表中的内容:
<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