我正在尝试使用API构建本地天气应用程序。 基本上我的代码要求google和lon去谷歌,然后把它交给另一方来弄清楚什么是城市,让它做出天气的最终请求。
•我有lat和lon
•我有女巫城市请求的链接
•我有每个城市的天气
如何将城市放入轮盘网址以最终提出天气要求?
我很抱歉非常混乱,但我对API不太了解,也不了解如何使用html处理javascript。如果你知道一个可以帮助我的消息来源,我会对它有所了解。 感谢。
如果您想从项目中查看代码,请输入以下代码。 http://codepen.io/Lbg232/pen/YpVgyJ?editors=1011
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
//I don't really know what is this for.
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Latitude : ' + crd.latitude); //It does print it (it works)
console.log('Longitude: ' + crd.longitude);
//This is the link ready to ask for the JSON
var finUrl = "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/q/" + crd.latitude + "," + crd.longitude + ".json";
console.log(finUrl); //it prints the link
};
function error(err) {
console.warn('ERROR(' + err.code + '): ' + err.message);
};
navigator.geolocation.getCurrentPosition(success, error, options);
//The request for the weather in a spacific city.
jQuery(document).ready(function($) {
$.ajax({
//I wanted to put the specific city and country.
url : "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/CL/Santiago.json",
dataType : "jsonp",
success : function(parsed_json) {
var location = parsed_json['location']['city'];
var temp_f = parsed_json['current_observation']['temp_c'];
alert("Current temperature in " + location + " is: " + temp_f);
}
});
});
</script>
我知道这不是一个非常具体的问题,对于堆栈溢出来说并不是很合适,但我找不到答案。感谢。
答案 0 :(得分:0)
您想要将此网址(http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/CL/Santiago.json)的CL和Santiago替换为任何其他城市和国家/地区吗?如果是,您可以创建另一个返回城市和国家/地区名称的函数,如下所示:
function getCurrentCityAndCountry(){
var cityAndCountry;
var result = "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/q/" + crd.latitude + "," + crd.longitude + ".json";
if(result){
cityAndCountry = {
city: location.city,
country:location.country_name
}
}
return cityAndCountry;
};
现在,在调用最后一个API之前,请调用上面创建的函数来获取城市和国家/地区名称,并将它们放在网址中
var cityAndCountry = getCurrentCityAndCountry();
url : "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/"+cityAndCountry.city+"/"+cityAndCountry.country+".json"