使用Openweather JSON API,如何获取温度?

时间:2017-02-26 23:44:43

标签: json openweathermap

通过传递Latitude,Longitude使用Openweather JSON API,我正在获取数据。我需要以华氏温度获取当前温度

基于Openweather上提供的示例api,我正在从字段中读取数据:deg

示例:

"风" {"速度":5.1"度":310}

学位:310。

我正在阅读的价值不正确。具体的价值,我需要阅读学位。

1 个答案:

答案 0 :(得分:2)

代码示例

我家附近的天气是35度响应是32度。

let API_KEY = 'e0a3dfaead51bbda58049371909fe21f';

function getWeather(latitude, longtitude) {
  $.ajax({
    url: 'http://api.openweathermap.org/data/2.5/weather',
    data: {
      lat: latitude,
      lon: longtitude,
      units: 'imperial',
      APPID: API_KEY
    },
    success: data => {
       console.log(data["main"]["temp"] + " F");
    }
  })
}

getWeather(40.863372, -74.113181);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

解释

将单位设置为英制,以便在Farenheight units=imperial中返回默认临时温度,当前温度位于main.temp

文档说这是一个示例回复:

{
  "coord": {
    "lon": 145.77,
    "lat": -16.92
  },
  "weather": [{
    "id": 803,
    "main": "Clouds",
    "description": "broken clouds",
    "icon": "04n"
  }],
  "base": "cmc stations",
  "main": {
    "temp": 293.25,
    "pressure": 1019,
    "humidity": 83,
    "temp_min": 289.82,
    "temp_max": 295.37
  },
  "wind": {
    "speed": 5.1,
    "deg": 150
  },
  "clouds": {
    "all": 75
  },
  "rain": {
    "3h": 3
  },
  "dt": 1435658272,
  "sys": {
    "type": 1,
    "id": 8166,
    "message": 0.0166,
    "country": "AU",
    "sunrise": 1435610796,
    "sunset": 1435650870
  },
  "id": 2172797,
  "name": "Cairns",
  "cod": 200
}

目前的天气来自main

"main": {
  "temp": 306.15, //current temperature
  "pressure": 1013,
  "humidity": 44,
  "temp_min": 306, //min current temperature in the city
  "temp_max": 306 //max current temperature in the city
},

要设置临时单位,请使用units=参数:

api.openweathermap.org/data/2.5/find?q=London&units=imperial

来自docs

的更多信息

您可以使用的所有参数here