Weather gadget

九月 4, 2007 by 花老鼠 · Leave a Comment 

跟踪本插件的更新情况和最新消息,你可以访问以下链接。

插件地址
Wiki
问题递交
源代码

这个陆陆续续地做了有一阵子了,Google Gadget 的一个天气预报插件。可以应用在 iGoogle 、Googlepage 、或者你自己的网页上。可以自定义前背景颜色,来很好地融合到你的页面上去。提供的气象信息比较全面。插件基于 Gadget API ,并且集 Gmap API 、Calendar API 于一身,提供了卫星云图等信息,可以把城市气象信息添加到 Google Calendar 上,通过 Google Calendar 还可使用 SMS 以短信的形式定时地通知你未来气象情况。
作者:花老鼠(embont@gmail.com)
特性:

  • 提供全球三万多个城市或地区的气象信息
  • 未来10天预报、未来24小时详细预报
  • 自定义白天/晚上的前背景色
  • 同时订阅多个城市
  • 通过地图查看附近提供的城市信息
  • 提供卫星云图,包含谷歌地图、Google Maps并且根据用户语言预定义
  • 与 Google Calendar 的互动
  • 多语言支持(陆续完善)

演示: 本站
使用:使用本插件
截图:

历史更新:

Weather For Google Earth V1.0

二月 10, 2007 by 花老鼠 · 9 Comments 

    首先请原谅,我硬是给加了个“V1.0”,自己也感觉怪怪的。你可能发现,你前几天不是刚刚更新的吗?怎么又来了。是的,上次说的只是改了更新的方式,自己感觉就像发现新大陆似的,忍不住就招摇了一下。

  这次除了更新方式上的优化外,对程序的代码做了大量的优化。并且和我Blog上的天气程序进行了数据共享。

  增加了更多城市。添加的地区包括台湾、日本、韩国、朝鲜、澳洲等,数据会陆续添加,将覆盖全世界。只是可能美国的不会放上去,自己也感觉太对不起美国了,因为这个数据源就是美国的。但他的城市点实在是太多了。一个州就上千,想想一个澳洲才三百多个点,一个中国就只有五百多个点。估计美国人看气象就是找自己家屋顶看的……

  增加了中英文的选择。既然城市点跨出国门走向世界,那加个英文版那是很有必要的。

  增加了天气预报的时间轴。这一念之间想到的,平时我们看气象都是一个城市上面写这预报从A天到B天的。既然Google Earth有时间轴这东东我们就得利用起来。由于预报的数据是12小时更新一次的所以对程序的负担也比较小。这样一来预报里面就能分别看到十天预报里的白天天气和晚上天气的情况了。做这个时间轴可费了我不少脑筋,惯性思维成了绊脚石。

  下载KML还是老地址http://www.fineemb.com/blog/LoadMod.asp?plugins=WeatherForGEarth,本来想在原来的基础上改的,好处就是不用以前的用户重新下载。但是总感觉侧栏多了一个文件夹不美观,所以就从新做了一个

  另外我还录了个简单的视频演示,但不是很清楚Youtube的土豆的  。另外有什么建议也欢迎和我说,尽量想办法解决。

Weather For Google Earth 更新(天气预报)

二月 3, 2007 by 花老鼠 · 4 Comments 

    前段时间做了Weather For Google Earth但是有不少问题没有解决好,尤其是速度,所以自己对这个作品也十分的不满意。但由于时间的关系就暂时的搁置在那儿了。今天发现又有不少朋友重新使用这个Google Earth的插件了。开始抱怨数据没能及时更新,那是因为更新驱动的机制不好给服务器带来了负担。

    于是再次琢磨这个问题。在过程中一个小小的发现给了我信心,发现新版Google Earth客户端的一个重大改进(对我来说至少是重大的)。就是在请求NetworkLink的时候如果服务器未返回数据用户再次更新这个NetworkLink的时候客户端可以终止前一个请求了,以前是必须等待上一个请求返回数据后才执行下一个请求,这给减轻服务器负担或改善用户体验有了大大的提高。

    新的更新机制采用用户驱动更新的办法来实现,发现还是一个不错的办法。请求数据库获得当前屏幕城市列队,如果里面没有服务器端缓存或缓存过期那就更新缓存,直到这个列队里处理完后再显示,首先实现了数据分块更新。再个就算这次屏幕范围内的城市列队只处理了一部份,那下次请求的时候这一部分也是有效的,就不再需要再次处理了直到缓存过期。

    新的问题,这样的用户驱动的最佳表现是拥有大量的用户去应用(也就是说需要有足够的用户来驱动),要不就会出现大面积城市的数据过期,造成堵塞。这个以后再考虑在外部采用JS驱动,发动其他网页来帮助驱动的方法来实现。目前服务器缓存失效期是两小时,我可能还会加大这个数值到预报更新的时间间隔,来减轻服务器的负担,至于当前气象的每15分钟更新一次采用用户单个更新的方法来实现,比较需要这么准确气象数据的人不是很多。

    这次还添加了台湾、韩国、朝鲜、日本的全部城市。

    有的朋友不喜欢动态生成KML,于是就做了个现成的KML文件给大家下载http://www.fineemb.com/blog/LoadMod.asp?plugins=WeatherForGEarth

气象 XML 数据源应用程序开发指南-操作检查列表

十月 31, 2006 by 花老鼠 · Leave a Comment 

3. 操作检查列表
执行气象 XML 数据源, 你必须:
* 在 www.weather.com/services/oap.html 注册获得你的用户ID和许可密匙。
* 按照 2.3 节定义你的应用程序是一个 Web 应用程序还是一个桌面应用程序。
* 正确执行一个搜索请求,一个和多个结果。获得一个位置ID和“No Locations Found”信息。
* 任何气象请求必须包含一个正确的用户ID, “par”请求参数, “prod” 请求参数和 “key” 请求参数。
* 正确判断一个错误文档响应。
* 从数据里提取想要显示的气象数据元素和 weather.com 链接。
* 在你的应用程序你不能混淆 TWCi 气象数据和其他气象数据。
* 显示 TWCi 气象数据的原始格式,不更改、翻译和其他派生。
* 仅在你的应用程序内部请求和显示气象数据。不能重定向和传输气象数据到其他应用程序或平台。
* 在气象数据中突出显示一个 weather.com 的标志。这个标志必须同正确的“prod”和“par”请求参数一起链接到 http://www.weather.com
* 在气象数据中突出显示 weather.com 链接。他们必须有正确的“prod”和“par”请求参数。
* 支持数据缓存须看8.2章节。
* 如果条件允许,你的应用程序必须使用正确的图标来描述天气情况。
* 你的应用程序必须免费提供给终端用户下载和使用。
返回目录

气象 XML 数据源应用程序开发指南-简介

十月 31, 2006 by 花老鼠 · Leave a Comment 

2、简介

2.1. 关于气象 XML 数据源

气象 XML 数据源(服务)允许第三方应用程序通过 weather.com® 站点请求一个 XML feed 访问一个可用的数据子集。Weather Channel Interactive 公司 (TWCi) 提供这个用于开发的免费的数据,谁要将气象数据应用到一个单一的应用程序那么希望可以和 weather.com 交换链接。这个文档描述了怎样使用气象数据并且从技术上详述请求和使用这个 XML 数据。
气象数据包含:
- 通过城市/州和邮政编码搜索区域
- 数据介绍必要的区域详细信息 (例如名字和当地时间)
- 选定区域的当前气象情况(观察)
- 两天4*12小时的部分预报(目前好像是提供了10天的预报)

要返回,你的应用程序必须:
- 仅在一个时间内显示一个区域的气象数据
- 支持数据请求标准,使用规则, 和在这个向导第8章的更新速度概要
- 从一个单一的可见元素数据里清晰的分解 TWCi 数据
- 确定你的气象数据来自 TWCi 并且包含一个在本向导第9章讲述的一个链接到 weather.com 主页的超链接
- 给额外的气象数据提供一个链接到 weather.com 的超链接
- 免费提供给你的终端用户
- 每月少于25,000个流量(活跃的用户)

如果你不能接受这些条件但仍然喜欢使用天气数据, 那么在线加入我们成为会员:
http://www.weather.com/services/oap.html

2.2. 为了气象 XML 数据源获得账户

为了使用这个服务,首先你必须在 weather.com 注册并且你必须同意用户最终协议。 在下面页面注册:
http://www.weather.com/services/oap.html
在注册过程的最后你将收到一封电子邮件里面包含你的用户ID,和唯一的许可密匙,并且你可以下载到软件开发工具(SDK). 在任何气象数据请求中必须包含用户ID和许可密匙请求参数。

2.3. 应用程序类型

气象 XML 数据仅在应用程序可以发送一个链接给 weather.com 时可用。这个程序可用是 Web 基础应用也可以是桌面应用程序。

2.3.1. Web基础应用程序

Web应用程序的HTML页面递交给 Web 浏览器并且必须可以直接链接到 weather.com 通过链接获得气象 XML 数据源。一个 Web 应用程序需要访问气象 XML 数据源获得气象数据并且将数据通过一个HTML页面在微软的IE浏览器或Firefox浏览器呈现给用户。例如应用程序用 JSP、PHP、 ASP、或CGI等语言编写的 Web 服务。

2.3.2. 桌面应用程序

桌面应用程序运行在用户的计算机并且呈现气象数据到用户计算机的窗口,如图标在菜单栏,或者直接在桌面拖曳。桌面应用程序比较可以直接,或通过外部浏览器自动运行,通过一个 weather.com 的标志链接到 weather.com 首页并且在气象 XML 数据源下打开一个新的浏览器窗口。例如应用程序可以用C++, Java, Visual Basic, Delphi, or Objective C 编写,可以运行在一个网络连接窗口、 Macintosh 或者 Linux 计算机。

2.3.3. 其他应用程序

如果你有一个应用程序不属于 Web 应用程序也不属于桌面应用程序,比如应用程序在PDAs、移动电话、电台、印刷、传真、广播电视或其他平台不能直接链接到 weather.com ,或者如果你的用法超出了这些服务, 你将需要确定其他可能适合你的许可选项。通常,如果你的站点或程序在一个月内有500,000个独立用户,或者每个月超过100,000个独立用户并且他每月向 weather.com 递交25,000个请求,并且你对额外的气象信息感兴趣,请通过Email busdevmanager2@talk2.weather.com 联系我们的商业发展部讨论开发细节。

返回目录

气象 XML 数据源应用程序开发指南-内容目录

十月 31, 2006 by 花老鼠 · Leave a Comment 

weather.com 从今天开始解读由 weather.com® 提供的气象数据源(XML)以及对这些数据的应用。下面是所要讲的内容目录。

1. 内容目录
1. 内容目录
2. 简介
2.1. 关于气象 XML 数据源
2.2. 获得气象 XML 数据源帐号
2.3. 应用程序类型
2.3.1. Web应用程序
2.3.2. 桌面应用程序
2.3.3. 其他应用程序
3. 操作检查列表
4. 搜索
4.1. 请求
4.1.1. URLs
4.1.2. 查询参数
4.2. 响应
4.2.1. DTD
4.2.2. 样例
5. 气象
5.1. 请求
5.1.1. URLs
5.1.2. 查询参数
5.2. 响应
5.2.1. DTD
5.2.2. 样例
6. 错误
6.1. 响应
6.1.1. DTD
6.1.2. 样例
7. 资源
7.1. 标志
7.2. 图标
8. 数据规则
8.1. 搜索
8.2. 更新速度
8.2.1. Web应用程序
8.2.2. 桌面应用程序
8.3. 头数据
8.4. 区域数据
8.5. 当前气象
8.6. 气象预报
9. 链接和属性
9.1. 链接
9.2. 属性
10. 附件 A – weather.com® 标志使用指南

Next Page »