高德地图api https://lbs.amap.com/api/webservice/guide/api/weatherinfo
1、解析
高德地图:天气查询是一个简单的HTTP接口,根据用户输入的adcode(地区的编码),查询目标区域当前/未来的天气情况,数据来源是中国气象局。
使用API前您需先申请Key,若无高德地图API账号需要先申请账号。
2、使用步骤
第一步,申请“web服务 API”密钥(Key);
第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。
如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。
3、天气查询api
URL | https://restapi.amap.com/v3/weather/weatherInfo?parameters |
请求方式 | GET |
parameters | 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。 |
parameters 请求参数
参数名 | 含义 | 规则说明 | 是否必须 | 缺省值 | |
---|---|---|---|---|---|
key | 请求服务权限标识 | 用户在高德地图官网申请web服务API类型KEY | 必填 | 无 | |
city | 城市编码 | 输入城市的adcode,adcode信息可参考如下地址 | 必填 | 无 | |
extensions | 气象类型 | 可选值:base/all base:返回实况天气 all:返回预报天气 | 可选 | 无 | |
output | 返回格式 | 可选值:JSON,XML | 可选 | JSON | |
返回参数说明 | 实况天气每小时更新多次,预报天气每天更新3次,分别在8、11、18点左右更新。由于天气数据的特殊性以及数据更新的持续性,无法确定精确的更新时间,请以接口返回数据的reporttime字段为准。 |
4、城市地区编码
adcode信息参考- 密码:4321https://wwo.lanzout.com/izoxU1y3fhne
5、天气现象表
天气现象表 | ||
---|---|---|
晴 少云 晴间多云 多云 阴 有风 平静 微风 和风 清风 强风/劲风 疾风 大风 烈风 风暴 狂爆风 飓风 热带风暴 霾 中度霾 重度霾 严重霾 | 阵雨 雷阵雨 雷阵雨并伴有冰雹 小雨 中雨 大雨 暴雨 大暴雨 特大暴雨 强阵雨 强雷阵雨 极端降雨 毛毛雨/细雨 雨 小雨-中雨 中雨-大雨 大雨-暴雨 暴雨-大暴雨 大暴雨-特大暴雨 雨雪天气 雨夹雪 阵雨夹雪 冻雨 | 雪 阵雪 小雪 中雪 大雪 暴雪 小雪-中雪 中雪-大雪 大雪-暴雪 浮尘 扬沙 沙尘暴 强沙尘暴 龙卷风 雾 浓雾 强浓雾 轻雾 大雾 特强浓雾 热 冷 未知 |
风力表
进行天气查询时返回的风力如下表所示:
风力表 | ||||
---|---|---|---|---|
≤3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 |
风向表
进行天气查询时返回的风向如下表所示:
风向表 | ||||
---|---|---|---|---|
无风向 | 东北 | 东 | 东南 | 南 |
西南 | 西 | 西北 | 北 | 旋转不定 |
6、示例
import axios from 'axios';
// 服务示例url
// https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>
// 请求示例
axios.get('https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>')
.then(function(response) {
console.log(response.data);
})
.catch(function(error) {
console.error(error);
});
// 返回值
{
"status": "1",
"count": "1",
"info": "OK",
"infocode": "10000",
"lives": [
{
"province": "北京",
"city": "东城区",
"adcode": "110101",
"weather": "晴",
"temperature": "26",
"winddirection": "西南",
"windpower": "≤3",
"humidity": "10",
"reporttime": "2024-05-15 14:38:25",
"temperature_float": "26.0",
"humidity_float": "10.0"
}
]
}
6、接口返回值解释
名称 | 含义 | 规则说明 | ||
---|---|---|---|---|
status | 返回状态 | 值为0或1 1:成功;0:失败 | ||
count | 返回结果总数目 | |||
info | 返回的状态信息 | |||
infocode | 返回状态说明,10000代表正确 | |||
lives | 实况天气数据信息 | |||
province | 省份名 | |||
city | 城市名 | |||
adcode | 区域编码 | |||
weather | 天气现象(汉字描述) | |||
temperature | 实时气温,单位:摄氏度 | |||
winddirection | 风向描述 | |||
windpower | 风力级别,单位:级 | |||
humidity | 空气湿度 | |||
reporttime | 数据发布的时间 | |||
forecast | 预报天气信息数据 | |||
city | 城市名称 | |||
adcode | 城市编码 | |||
province | 省份名称 | |||
reporttime | 预报发布时间 | |||
casts | 预报数据list结构,元素cast,按顺序为当天、第二天、第三天的预报数据 | |||
date | 日期 | |||
week | 星期几 | |||
dayweather | 白天天气现象 | |||
nightweather | 晚上天气现象 | |||
daytemp | 白天温度 | |||
nighttemp | 晚上温度 | |||
daywind | 白天风向 | |||
nightwind | 晚上风向 | |||
daypower | 白天风力 | |||
nightpower | 晚上风力 |