js天气预报接口(天气预报前端)
天气预报API接口是什么?
天气预报API接口是气象服务商为客户提供服务的唯一接口。拿墨迹赤必为例,跟客户充分沟通后了解客户的实际需求,从而对现有的数据进行调整,符合客户的需求形成API接口,让客户接入,这样就形成了一个完整的服务。所以说API接口并不是一个很神秘的东西,只不过是企业和客户之间的一条服务纽带。
我负责的app要实现天气预报实时功能,用什么接口好
气象数据开放平台 气象数据开放平台是中国气象局面向网络媒体、手机厂商、第三方气象服务机构等用户,通过web方式提供数据气象服务的官方载体。是国内首个面向个人网站、开发爱好者和服务机构的气象服务API.
之前做过的项目就是采用的这一个
怎么通过js跨域获取xml文件并解析到html上呢?我要弄一个简单天气预报的页面,主要是怎么去获取。
既然是个API,按理它本身应该提供跨域解决方案的,否则它就是个不完善的API。如果确实要自己解决,我个人认为只有通过代理页面转发才是最好的方法,就是说自己要有可控制的服务器( 虚拟主机也可),然后用php、asp或jsp做一个程序文件,你的js把ajax请求发送到这个文件中,这个文件再通过你说的api把请求发送到目标服务器(服务器间的通讯是不存在跨域问题的),获取到xml数据后再转发给你的js,也就是说你只需要跟你自己的服务器联系即可,剩下的事由它去完成。
谁有 js,jq,等等方法 动态获取 天气预报?只要对我有帮助的
//这是我以前开发天气wedget的时候写过的代码,原理是连接到yahoo api(返回XML),先用cityCode查国家 然后用woeid查地方,这是测试时写过的代码。Yahoo 天气api 好像一部分收费 最后没用yahoo 用 weatherbug的api 那个代码忘了存在哪里了,如果 非常着急的话在跟我说吧 我给你找找,还有调用api的原理,一般不会直接调用api 因为每个人访问时都调用一次的话系统受不了。最好写个windows service 每个一段时间调用一次api然后以.xml形式存放到一个文件夹,在系统中只调用xml文件就好了。如果api一时访问不到了也不会出问题。
才看到你想要的是前台代码, 这是后台的
private string GetWeather(string cityCode)
{
string weather = string.Empty;
if (cityCode == "" || string.IsNullOrEmpty(cityCode)) { cityCode = "seoul"; }
XmlDocument document1 = new XmlDocument();
document1.Load(" * from geo.places where text=" + cityCode + "format=xml");
XmlNodeList nodes1 = document1.GetElementsByTagName("woeid");
string strWoeid = nodes1[0].InnerText;
XmlDocument document = new XmlDocument();
document.Load("" + strWoeid + "u=c");
XmlNodeList nodes = document.GetElementsByTagName("forecast",
@"");
foreach (XmlNode node in nodes)
{
Console.WriteLine("日期:{0},星期:{1},天气:{2},温度:{3}°C 至 {4}°C",
node.Attributes["date"].InnerText,
node.Attributes["day"].InnerText,
node.Attributes["text"].InnerText,
node.Attributes["low"].InnerText,
node.Attributes["high"].InnerText);
//FToC(int.Parse(node.Attributes["low"].InnerText)),
// FToC(int.Parse(node.Attributes["high"].InnerText)));
// //woeid
// // * from geo.places where text="Wonju"format=xml
}
return weather;
}
用Jquery调用天气预报API
$.getScript('', function(_result) {
if (remote_ip_info.ret == '1') {
$.ajax({
type: "GET",
url: ""+remote_ip_info.city,
data: "",
success: function(msg){
console.log(msg);
}
});
}
});