基础篇
    首先是如何调用Google Weather API,如果你在Google里搜索能够搜索出以下的内容,但是完全没有原始来源,看上去是很简单,说明也还算详细。
   1.邮政编码法:(只支持美国地区使用邮政编码进行查询)
   http://www.google.com/ig/api?hl=zh-cn&weather=94043
    (94043 为 山景城, 美国加州 的邮政编码)
    2.经纬度坐标作法:
   http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996
    (30670000,104019996 为 成都, 中国大陆 的经纬度坐标)
    3.城市名称法:
   http://www.google.com/ig/api?weather=Beijing
    附:
    支持的国家代码列表:
http://www.google.com/ig/countries?output=xml&hl=zh-cn
    (查询 Google 所支持的所有国家的代码,并以 zh-cn 简体中文显示)
    支持的城市代码列表:
http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn
   其实以上有很多地方是错误的。
    一、邮编法,支持的国家包括美国,加拿大,德国,英国,法国等,不仅仅是美国,以下是一些其他国家的例子,具体可以去尝试各种不同的国家邮编。
    加拿大多伦多 http://www.google.com/ig/api?weather=M4B1G5
    德国柏林 http://www.google.com/ig/api?weather=10115,DE (应该是和美国重复的关系需要加DE)
    法国巴黎 http://www.google.com/ig/api?weather=75008
    英国南安普顿 http://www.google.com/ig/api?weather=SO163UB
    反正不支持天朝,Google退出中国后,应该也不会有对于中国邮编的支持。
    二、经纬度法,没啥好说的,除了和Google Map API的经纬度用的单位不同需要转换,其他还是ok,可以和Google Map无缝衔接。
    三、城市名法,默认只支持英文,如果输入中文的话可以用Google Language API翻译成英文再查询,国际化本地化处理还是很方便的,要另它支持本国文字请看高级篇。
    四、支持国家和城市列表请无视,实在是不够全。
    标准返回XML形式(现在的温度+今天的详细预报+后三天的简略预报)
<xml_api_reply version="1">
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
<forecast_information>
<city data="Shanghai, Shanghai"/>
<postal_code data="shanghai"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2010-09-13"/>
<current_date_time data="2010-09-14 06:00:00 +0000"/>
<unit_system data="SI"/>
</forecast_information>
<current_conditions>
<condition data="晴"/>
<temp_f data="79"/>
<temp_c data="26"/>
<humidity data="湿度: 83%"/>
<icon data="/ig/images/weather/sunny.gif"/>
<wind_condition data="风向: 东、风速:4 米/秒"/>
</current_conditions>
<forecast_conditions>
<day_of_week data="周一"/>
<low data="24"/>
<high data="29"/>
<icon data="/ig/images/weather/cn_cloudy.gif"/>
<condition data="多云"/>
</forecast_conditions>
<forecast_conditions>
<day_of_week data="周二"/>
<low data="24"/>
<high data="29"/>
<icon data="/ig/images/weather/chance_of_storm.gif"/>
<condition data="可能有暴风雨"/>
</forecast_conditions>
<forecast_conditions>
<day_of_week data="周三"/>
<low data="24"/>
<high data="32"/>
<icon data="/ig/images/weather/chance_of_storm.gif"/>
<condition data="可能有暴风雨"/>
</forecast_conditions>
<forecast_conditions>
<day_of_week data="周四"/>
<low data="25"/>
<high data="30"/>
<icon data="/ig/images/weather/chance_of_rain.gif"/>
<condition data="可能有雨"/>
</forecast_conditions>
</weather>
</xml_api_reply>
-----------------------------------------我是华丽的分割线-----------------------------------------
高级应用篇
    一、国际化本地化
    hl 返回的语言文字(ISO639语言编码+国家缩写,如zh_CN,en_US等),不选的话默认会根据(操作系统?IP地址?)返回语言,就我本人来看切换浏览器语言返回的都是中文。
    ie 输入文字编码(浏览器语言编码) 有了这个参数就可以使用下面这样的查询
   http://www.google.com/ig/api?weather=上海&hl=zh_CN&ie=gb2312
    oe 输出文字编码(浏览器语言编码) 这个主要是为了控制输出内容能正常显示的编码
   http://www.google.com/ig/api?weather=上海&hl=zh_CN&ie=gb2312&oe=gb2312
    output 输出格式(xml,json)只有少部分数据能返回json值...这一点远不如Twitter和Facebook的API来得好...
    二、多城市查询
    weather 城市名/经纬度/邮政编码最神奇的就是这个参数了,实际上你可以传多个weather参数来返回城市信息。(某同事尝试出来的)比如
   http://www.google.com/ig/api?weather=上海&weather=北京&hl=zh_CN&ie=gb2312&oe=gb2312
    其实实际运用并不这么简单,Google提供了各种api可以一起拼接在一起...非常佩服Google的神人...
   http://www.google.com/ig/api?movies=new%20york&weather=上海&stock=Google&hl=zh_CN&ie=gb2312&oe=gb2312
-----------------------------------------我是华丽的分割线-----------------------------------------
实际运用篇
    一、调用方法
    因为Google这一系列的API都在Google.com这个域下面,跨域请求XML的话没有啥很好的办法,Google域的http://www.google.com/crossdomain.xml又非常严格,非公开的API完全不支持跨域,一般都是自己服务器做个代理。YUI里有个很好的例子(前端YUI到后端PHP代码都有)http://developer.yahoo.com/yui/3/examples/io/io-weather.html。不过其中调用的是Yahoo Weather API,稍微修改下就能用在Google Weather API上了,具体实现并不难,无论是web应用还是iPhone,android的应用,使用Google Weather API的很多。
    二,异常情况
    因为Google Weather API并不是公开的,所以很多异常都会出现,某些重要城市的天气找不到,比如天津一天总有几个小时找不到温度情况,或者返回的温度或者天气状况会是空值,或者干脆一段时间不更新天气信息之类种种,或者说预报温度不是很准等等,具体可以去看Google的投诉版...
    三、其他API
    Yahoo Weather API本身比Google Weather API的数据结果强大,不过国际化本地化是个大问题,最重要的是Yahoo Weather API是不能从事商业用途的。当然你想用在天朝也很正常,知识产权版权一向是被我们所忽视的。我只看到过iphone, ipod, android的官方天气运用使用这个(估计是付钱的),其他的国内的一些实在是不清楚来源不敢用。
  原文摘自: http://hi.baidu.com/sulmas/blog/item/ad0edb13173f1535dc540124.html

Google Weather API 参考文档相关推荐

  1. dita文档_使用DITADoclet和DITA API专业化生成DITA Java™API参考文档

    dita文档 2009年12月11日修订说明:在" 目标"和" 安装org.dita.dost插件 "标题下添加了两个指向可下载资源的链接. 2014年3月7日 ...

  2. xwiki开发者指南-XWiki API 参考文档

    XWiki开发团队考虑到安全使用(即,保证后向兼容性).我们可以从Java或直接从wiki页面使用一个脚本语言 (Velocity, Groovy, Python, Ruby等)调用API. 作为XW ...

  3. AutoCAD二次开发2-.NET API参考文档

    AutoCAD .NET API中有许多不同类型的对象.例如: 图形对象,例如直线,圆弧,文本和尺寸 样式设置,例如文本和尺寸样式 组织结构,例如层,组和块 工程图显示,例如视图和视口 图纸及应用 h ...

  4. 微信开放平台提供什么服务器,微信开放平台:朋友圈API参考文档

    POST /timeline URL: https://api.weixin.qq.com/timeline.format 参数列表 参数含义 content_type 指定消息的类型,必填,目前支持 ...

  5. 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html

    出现"不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html"这种 ...

  6. mpvue 从零开始 女友拉黑了我 5 不在以下request 合法域名列表中,请参考文档

    上一篇,才调通了接口,试了几次,都成功,突然,微信报错了. VM6239:1 https://www.easy-mock.com 不在以下 request 合法域名列表中,请参考文档:https:// ...

  7. python 操作mongodb数据库参考文档

    参考文档链接:https://pypi.python.org/pypi/pymongo pymongo的参考文档http://api.mongodb.com/python/current/tutori ...

  8. 小程序开发配置接口域名提示:不在以下 request 合法域名列表中,请参考文档

    小程序开发配置接口域名提示:不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/api/networ ...

  9. linux自动化脚本制作参考文档

    linux自动化脚本制作参考文档 一.环境部分 1.0.启动盘制作 前提:1个8G以上的U盘,想要安装的系统ISO镜像 参考连接: 1.windows系统 #打开'运行' => win + r ...

最新文章

  1. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
  2. bzoj#3456. 城市规划
  3. 构造函数 构造代码块_构造函数必须没有代码
  4. Html5中Canvas(画布)的使用
  5. Diffie Hellman密钥交换
  6. 二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面
  7. 计算机中定义事物各种特点的术语,计算机科学中具有特殊含义或易溷淆的术语辨析(2版).doc...
  8. easyconnect无法在mac上使用_Mac上刻录DVD光盘,使用DVD Creator该怎样操作
  9. 服装企业IT管理 应该这样当
  10. lbp2900打印机linux驱动下载,佳能LBP2900+驱动下载-佳能LBP2900+打印机驱动下载 V3.30官方版--pc6下载站...
  11. 苹果固件验证关闭服务器时间,苹果ios系统终于可以降级了,或关闭固件验证
  12. ps钢笔工具的详细讲解
  13. Linux---虚拟机安装Linux系统与联网实现
  14. 《惢客创业日记》2018.11.23(周五) 郭鑫年,你是不是死了?
  15. 短信的独特优势以及如何选择国际短信平台?
  16. Mybatis Plus使用,条件拼装、自定义分页、多数据源
  17. Vue.js 基础语法 入门语句 Vue学习笔记 v-model 双向数据绑定
  18. 完整电商后台产品设计-01整体产品规划设计
  19. 用于3D成像显微镜的双螺旋PSF
  20. 多目立体匹配的前世今生 | 聊一聊MVS及其在3D检测中的应用

热门文章

  1. 第四章 资本主义的本质及规律
  2. 山东科技大学OJ题库 1009-简单的打折计算
  3. mac合上盖子不锁屏_Mac如何设置锁屏不待机
  4. [寻春记事》闲笔记事集]2011-2-3
  5. 华为 android 5.0系统下载地址,华为emui5.0升级公告-emui 5.0官方版下载v5.0 官方最新版-西西软件下载...
  6. 【微信小程序】组件(六)form
  7. 九阳JYL-Y92与Y99型号破壁机对比评测
  8. SQL必知必会-笔记(完善版):第1课
  9. 会声会影x10中文版
  10. dsp 的学习方法收集:如何学习dsp