使用小米天气API获取天气信息
1. URL部分
以下url中“%s”代表的是城市Id,比如北京的cityId=101010100;
//获取未来五天预报信息,红色部分信息不需要
WEATHER_DATA_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/forecast?cityId=%s";
返回信息格式如下:

{
"weatherinfo": {
"city": "北京",
"city_en": "beijing",
"cityid": "101010100",
"date": "",
"date_y": "2014年04月08日",
"fchh": "18",
"fl1": "3-4级转4-5级",
"fl2": "3-4级转小于3级",
"fl3": "小于3级",
"fl4": "小于3级",
"fl5": "小于3级",
"fl6": "微风",
"fx1": "南风转北风",
"fx2": "东北风转无持续风向",
"img1": "", // img信息不需要
"img10": "",
"img11": "",
"img12": "",
"img2": "",
"img3": "",
"img4": "",
"img5": "",
"img6": "",
"img7": "",
"img8": "",
"img9": "",
"img_single": "", //img_title信息不需要
"img_title1": "霾",
"img_title10": "多云",
"img_title11": "晴",
"img_title12": "晴",
"img_title2": "多云",
"img_title3": "晴",
"img_title4": "多云",
"img_title5": "多云",
"img_title6": "阴",
"img_title7": "阴",
"img_title8": "多云",
"img_title9": "晴",
"img_title_single": "",
"index": "较舒适",
"index48": "",
"index48_d": "",
"index48_uv": "",
"index_ag": "极易发",
"index_cl": "不宜",
"index_co": "舒适",
"index_d": "",
"index_ls": "不宜",
"index_tr": "适宜",
"index_uv": "最弱",
"index_xc": "不宜",
"st1": "", //st信息不需要(暂不确定其作用)
"st2": "",
"st3": "",
"st4": "",
"st5": "",
"st6": "",
"temp1": "12℃~28℃",
"temp2": "11℃~18℃",
"temp3": "8℃~18℃",
"temp4": "9℃~22℃",
"temp5": "10℃~22℃",
"temp6": "0℃~0℃",
"tempF1": "", //华氏摄氏度信息不需要
"tempF2": "",
"tempF3": "",
"tempF4": "",
"tempF5": "",
"tempF6": "",
"weather1": "霾转多云",
"weather2": "晴转多云",
"weather3": "多云转阴",
"weather4": "阴转多云",
"weather5": "晴转多云",
"weather6": "晴",
"week": "星期二",
"wind1": "南风转北风",
"wind2": "东北风转无持续风向",
"wind3": "微风",
"wind4": "微风",
"wind5": "微风",
"wind6": "微风"
}
}

//获取实时天气信息
WEATHER_DATA_SK_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/realtime?cityId=%s";
返回信息格式如下:

{
"weatherinfo": {
"SD": "32%",
"WD": "西南风",
"WS": "2级",
"WSE": "",
"city": "北京",
"cityid": "101010100",
"isRadar": "1",
"radar": "JC_RADAR_AZ9010_JB",
"temp": "23",
"time": "18:35",
"weather": "霾"
}
}

//获取其他指数类天气信息,如pm2.5,二氧化硫含量等,暂时不需要这类信息
WEATHER_AQI_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr/data/aqi?city_id=%s";
返回信息格式如下:

{//不需要
"aqi": {
"city": "北京",
"city_id": "101010100",
"pub_time": "2014-04-08 18:00",
"aqi": "206",
"pm25": "156",
"pm10": "196",
"so2": "47",
"no2": "42",
"src": "中国环境监测总站",
"spot": ""
}
}

获取警告信息
WEATHER_ALERT_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/alert?cityId=%s";
一般返回为空,且我们暂时用不到这类信息。
2. IP地址和cityId数据库
根据天气设计需求,要实现根据用户的IP地址自动匹配用户所在的当前城市。
首先要根据IP地址获取城市名称,其次通过城市名城获取对应的cityId,最后利用cityId获取对应城市的天气信息。
因此需要两个数据库,包含两张表:
表一: IP地址-->城市名称
表二: 城市名城-->cityId,对应的数据库文件分别是:ip_address_jj_city_name.db和city.db。
3. 数据返回格式极其他
要求数据返回格式为json
使用小米天气API获取天气信息的更多相关文章
- 高德地图API获取天气
1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...
- 在C#中调用API获取网络信息和流量
原文 在C#中调用API获取网络信息和流量 最近一项目中要求显示网络流量,而且必须使用C#. 事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量. ...
- C# 通过豆瓣网络编程API获取图书信息
这篇文章主要是关于如何通过豆瓣API获取信息的书籍,起初,我看到了原来的想法的内容是"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源代码,再通过正則 ...
- PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息
最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取 ...
- 根据新浪天气API获取各地天气状况(Java实现)
原文出自 参考网址(重要) http://blog.csdn.net/cyxlzzs/article/details/7602469 新浪 http://blog.csdn.net/l_ch_g/a ...
- 通过API获取统计信息时报Access denied错误处理记录
通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.s ...
- 免费天气API,天气JSON API,不限次数获取十五天的天气预报
紧急情况说明: 禁用IP列表: 39.104.69.*(原因39.104.69.6 在2018年10月的 17~20日 排行为top 1,每天几十万次.) 47.98.211.* (原因47.98.2 ...
- 获取新浪天气api显示天气情况(转)
直接上一个html的demo <!doctype html> <html class="no-js fixed-layout"> <head> ...
- Java调用yahoo!API获取天气数据
先把代码复制上来,以后再做补充 package com.weather.test; import java.io.InputStream; import java.net.URL; import ja ...
随机推荐
- CentOS7 配置阿里云yum源
1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 2)备份并替换系统的repo文件 cp Centos-7.repo /etc/ ...
- 基于Material Design(转载)
SeeNewsV2新闻Android客户端 基于Material Design http://www.codesocang.com/gn/xiangmu/33630.html 直接拿来用!十大Mate ...
- Easyui datebox 限制时间选择范围
Require Date: <input class="easyui-datebox" data-options="formatter:myformatter,pa ...
- bootstrap下使用模态框,在模态框内输入框中回车时,模态框自动关闭的问题及解决方法
使用bootstrap下模态框,构建表单提交页面,但是输入框中直接回车,本来是想执行一下验证,但是却导致模态框自动关闭了. 遇到这样的问题,只需要先禁止回车触发表单提交 $(do ...
- 最短路模板(Dijkstra & Dijkstra算法+堆优化 & bellman_ford & 单源最短路SPFA)
关于几个的区别和联系:http://www.cnblogs.com/zswbky/p/5432353.html d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到 ...
- AS3 从外部SWF中获取资源的方法(ApplicationDomain的使用)
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; ...
- APP开发和web开发的区别
1.web开发: 1.浏览器直接访问,协议是http,基本都是PC访问,也就是在家和办公场合,网络比较好. 2.web如果多个服务集成的话使用的是ESB来统一集成 2.APP开发 1.手机app客户端 ...
- Javascirpt中创建对象的几种方式
js是一种动态语言,即js的对象创建好之后可以随意修改,因此JS对象的面向对象编程部分更可以说是通过JS的怪异特性来模拟Java这类的面向对象编程的.下面首先讨论几种创建对象的方式: 1. 工厂模式创 ...
- ASP.NET权限管理
ASP.NET Web Forms权限管理: 我要将一个文件夹只能让一个用户组访问怎么办? 可否在网站根目录下的web.config里这样设置: <location path="adm ...
- python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...