[size=medium]按照网上搜集到的资料是调用google weather api有三种方法
1.邮政编码法:(支持美国地区)
[url]http://www.google.com/ig/api?hl=zh-cn&weather=94043[/url]
(94043 为 山景城, 美国加州 的邮政编码)
2.经纬度坐标作法:
[url]http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996[/url]
(30670000,104019996 为成都, 中国大陆的纬经度坐标)
注意是先纬度后经度!!!
3.城市名称法:
[url]http://www.google.com/ig/api?hl=zh-cn&weather=Beijing[/url]
附:
支持的国家代码列表:
[url]http://www.google.com/ig/countries?output=xml&hl=zh-cn[/url]
(查询 Google 所支持的所有国家的代码,并以 zh-cn 简体中文显示)
支持的城市代码列表:
[url]http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn[/url]
那说明我们只能使用2,3这两种方法了
理所当然地想到用jquery这个前端工具去查询$.get()
結果是返回为空,也就拿不到数据.而直接在地址栏上输入上面的地址却可以得到数据
后来分析发现是因为用jquery时,发送请求包含referrer这个值,这个值为当前浏览器地址栏上的值(127.0.0.1/test.html).看来是因为google考虑到安全问题不能使用referrer, 后来想到能不能使用js来修改这个referrer,答案是不行的,这个值是read only (document.referrer)
看来只能使用服务器端来请求访问了
使用HttpClient确实能得到请求結果...
[/size]
1.邮政编码法:(支持美国地区)
[url]http://www.google.com/ig/api?hl=zh-cn&weather=94043[/url]
(94043 为 山景城, 美国加州 的邮政编码)
2.经纬度坐标作法:
[url]http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996[/url]
(30670000,104019996 为成都, 中国大陆的纬经度坐标)
注意是先纬度后经度!!!
3.城市名称法:
[url]http://www.google.com/ig/api?hl=zh-cn&weather=Beijing[/url]
附:
支持的国家代码列表:
[url]http://www.google.com/ig/countries?output=xml&hl=zh-cn[/url]
(查询 Google 所支持的所有国家的代码,并以 zh-cn 简体中文显示)
支持的城市代码列表:
[url]http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn[/url]
那说明我们只能使用2,3这两种方法了
理所当然地想到用jquery这个前端工具去查询$.get()
結果是返回为空,也就拿不到数据.而直接在地址栏上输入上面的地址却可以得到数据
后来分析发现是因为用jquery时,发送请求包含referrer这个值,这个值为当前浏览器地址栏上的值(127.0.0.1/test.html).看来是因为google考虑到安全问题不能使用referrer, 后来想到能不能使用js来修改这个referrer,答案是不行的,这个值是read only (document.referrer)
看来只能使用服务器端来请求访问了
使用HttpClient确实能得到请求結果...
[/size]
本文介绍了通过Google Weather API获取天气信息的三种方法,包括使用邮政编码、经纬度坐标及城市名称进行查询的过程。文章还探讨了前端工具jQuery在获取API数据时遇到的问题及其原因,并提出了解决方案。
639

被折叠的 条评论
为什么被折叠?



