📅  最后修改于: 2023-12-03 14:44:41.776000             🧑  作者: Mango
这是一个由 Node.js 编写的天气地图 API,可以为开发者提供天气预报、空气质量、日出日落等相关信息。该 API 采用开放式数据源,数据实时更新。可用于开发有天气预报需求的应用程序,如天气APP、天气桌面小插件等。此外,该 API 还支持 JSONP 跨域调用,方便开发者进行接口测试和调试。
该 API 数据源采用天气网实时获取天气数据,气象局空气质量数据源实时更新,日出日落等其它数据则通过计算得到。
该 API 采用开放式数据源,数据实时更新,可满足开发者在不同场景下的数据需求。
为方便开发者进行接口测试和调试,该 API 支持 JSONP 跨域调用。
该 API 采用模块化设计,代码分离清晰,易于后期拓展和扩展。
https://api.weathermap.org/?city=城市&key=密钥&output=output
参数说明:
city
:要查询的城市名,必填参数。key
:用户的密钥,必填参数。output
:数据的输出格式,支持 JSON 和 JSONP 两种格式,默认为 JSON 格式。可以使用 http
模块发起 GET
请求,如下所示:
const http = require('http');
const options = {
hostname: 'api.weathermap.org',
path: '/?city=成都&key=XXXXX',
method: 'GET'
};
const req = http.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
使用 JSONP 进行调用,需要在请求参数中加上 callback
参数,值为回调函数名,如下所示:
function requestData() {
const city = document.getElementById('city').value;
const key = document.getElementById('key').value;
const script = document.createElement('script');
script.src = `https://api.weathermap.org/?city=${city}&key=${key}&output=jsonp&callback=processData`;
document.head.appendChild(script);
}
function processData(data) {
console.log(data);
}
以下为一个使用该 API 的示例:
const http = require('http');
const fs = require('fs');
const options = {
hostname: 'api.weathermap.org',
path: '/?city=成都&key=XXXXX',
method: 'GET'
};
const req = http.request(options, res => {
console.log(`statusCode: ${res.statusCode}`);
let data = '';
res.on('data', d => {
data += d;
})
res.on('end', () => {
fs.writeFile('data.json', data, () => {
console.log('数据写入成功');
});
})
})
req.on('error', error => {
console.error(error);
})
req.end();
该 API 以简单、易用、实用为宗旨,提供开放的接口及数据源,方便开发者在不同场景下快速获取天气、空气质量等相关数据。开发者可根据自身需求对该 API 进行拓展和定制化开发。