想写个天气的应用,在网上找了一圈都没找到有关 JSONP 的接口,只有中国天气网的 JSON 接口,这就简单,直接用 SAE 做代理,将数据处理为 JSONP 的形式返回就行了,顺便分析了中国天气网的省市区三级联动的数据,这样就直接可以做天气应用了。
说说我的接口的用法吧,直接 get 请求,地址为 "http://demo.alphatr.com/weather/info.php",参数有三个 。
具体用法看看我的 Demo 吧,demo 地址:天气接口 JSONP 示例,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
|
需要注意的是在直辖市的获取中,每次市的返回值都是 00,而地区的 ID 不是直辖市+市+区,而是直辖市+区+00,例如上海崇明的 code 是 10102 11 00,而不是 10102 00 11。
完整的代码可以直接看 Demo 的源码,Demo just is demo,肯定功能不全,其他的比如根据 IP 判断地区然后显示,将选择后的地区代码存储进 cookie 中等等都是可以加的~
先是天气预报的数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
|
实时天气的数据
1
2
3
4
5
6
7
8
|
|
同样的,天气和更新点是由关系的,前半天天气就是今天白天和夜间,这个实时温度更新的比较频繁~
刚才上面对应有图片的 ID ,现在就说说 中国天气网 的图片吧,图片接口分为两类,一类是提供给外边插件的图片,有 70×65,50×46,20×20,21×15 四种尺寸,分别用前缀 a,b,c,d 表示,其中最小的 d 类型是有背景色的,例如 "http://m.weather.com.cn/img/d0.gif" 这个图片地址 表示 d 21×15 的尺寸,0 表示是晴天(由前面的代码得);第二类的图片是他网站上面自己用的图片,有 28×20 一种尺寸,但分白天和晚上 d 表示白天(day),n 表示夜晚(night),然后后面接天气的 ID,例如 "http://www.weather.com.cn/m/i/weatherpic/29x20/d1.gif" 这个图片地址表示白天的晴天,另外的地址 "http://www.weather.com.cn/m2/i/icon_weather/29x20/d01.gif" 和前面的图片是一样的,只是地址中数字是两位的,不足前面补零。
最后给出天气网他们自己的三级联动 http://www.weather.com.cn/static/custom/search3.htm