首页 > 解决方案 > 如何在 OpenAQ 平台 API 中通过污染获取城市

问题描述

我对 Open AQ 平台 API 文档https://docs.openaq.org有疑问。我有一个初级职位的招聘任务,我必须从特定国家/地区获得 10 个城市,并将它们从污染最严重的城市排序到污染程度较低的城市。我可以获得我需要的国家/地区的数据,但我不知道如何按污染排序。

目前我正在使用“ https://api.openaq.org/v1/cities ”这个带有 sort-desc 参数的链接,因为我假设 API 使用污染率作为默认值。但经过仔细检查后,我认为我必须添加一些东西,但我在网站上找不到解决方案。这是我第一次接触 API,所以我有点困惑如何构建正确的查询。在你下面有我现在设法编写的代码。

let country;
let cities = [];
const citiesDiv = document.getElementById("cities");
const countries = ["Poland", "Spain", "Germany", "France"];

const getData = async () => {
  const response = await fetch(
    `https://api.openaq.org/v1/cities?country=${country}&limit=10&sort=desc`
  );
  const data = await response.json();
  cities = data.results;
  citiesDiv.innerHTML = "";
  renderCities(cities);
};

document
  .getElementById("country-picker")
  .addEventListener("change", function(e) {
    if (e.target.value.toLowerCase() === "poland".toLowerCase()) {
      country = "PL";
    } else if (e.target.value.toLowerCase() === "spain".toLowerCase()) {
      country = "ES";
    } else if (e.target.value.toLowerCase() === "germany".toLowerCase()) {
      country = "DE";
    } else if (e.target.value.toLowerCase() === "france".toLowerCase()) {
      country = "FR";
    }

    getData();
  });

function renderCities(cities) {
  cities.forEach(function(city) {
    const p = document.createElement("p");
    p.textContent = city.city;
    citiesDiv.appendChild(p);
  });
}

标签: javascriptapi

解决方案


推荐阅读