【发布时间】:2018-07-31 16:20:17
【问题描述】:
所以我想知道是否可以使用当前的 Yahoo Weather API 来显示比 JSON 响应在 CDATA 中发回的图像更好的图像?
JSON:
使用 api 我得到 JSON 响应,例如 HERE。
当前图片:
目前风很大,我从 API Json 格式 CDATA 得到的图像如下:IMAGE
我想展示的图片:
我想要的是您可以在右侧导航中看到的漂亮图片:Yahoo
这是可能的还是 json CDATA 中的图像是我可以使用的唯一选项?
当前代码(有效):
var queryURL = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22anglesey%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
$.getJSON(queryURL, function (data) {
var results = data.query.results
var firstResult = results.channel.item.condition
var link = results.channel.image.link
var img_link_url = results.channel.image.url
var name = results.channel.location.city
console.log(firstResult);console.log(link);console.log(img_link_url);
var description = results.channel.item.description
console.log(description);
var regex = /img.*?src=("|')(.*?)\1/i;
var match = description.match(regex)[2];
console.log(match);
var location = firstResult.location // not returned in response
var temp = firstResult.temp
var text = firstResult.text
var cels = (temp - 32) * (5 / 9);
// if text = "party cloudy -> class = pcloudy || if text = "cloudy -> class = cloudy || sunny, rainy"
// or use code https://stackoverflow.com/questions/30216140/how-can-i-get-yahoo-weather-backgrounds-from-api
//https://developer.yahoo.com/weather/
$('#output').append('<p><span>Weather in </span> ' + name + ' <img src=' + match + '> ' + temp + 'F° / ' + Math.floor(cels) + ' C°</p>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="output"></div>
【问题讨论】:
-
你可以参考这里的代码,我在这里使用了 Yahoo Weather API。 github.com/SandipNirmal/weather-app-PWA
标签: javascript html json yahoo-weather-api