2015-12-22 2 views
0

Привет, мне дали этот код и вы хотите построить его, чтобы температура также возвращалась.Как использовать этот api для возврата температуры? С JavaScript?

Я использую API OpenWeatherMap. Вот код, который мне нужно вытащить информацию из

{ 
    "coord":{ 
     "lon":98.86, 
     "lat":55.08 
    }, 
    "weather":[ 
     { 
     "id":801, 
     "main":"Clouds", 
     "description":"few clouds", 
     "icon":"02n" 
     } 
    ], 
    "base":"cmc stations", 
    "main":{ 
     "temp":245.781, 
     "pressure":969.38, 
     "humidity":48, 
     "temp_min":245.781, 
     "temp_max":245.781, 
     "sea_level":1050.78, 
     "grnd_level":969.38 
    }, 
    "wind":{ 
     "speed":1.07, 
     "deg":138.501 
    }, 
    "clouds":{ 
     "all":12 
    }, 
    "dt":1450824930, 
    "sys":{ 
     "message":0.0075, 
     "country":"RU", 
     "sunrise":1450748926, 
     "sunset":1450774674 
    }, 
    "id":1488616, 
    "name":"Uk", 
    "cod":200 
} 

Я положил в смелом, что я думаю, что нужно использовать.

Как я уже обращаюсь к информации, как вы можете видеть ниже.

Хотя, когда я пытаюсь следовать этому и добавляю больше кода, он ломается и ничего не возвращает.

Я думаю, что он здесь. Возможно, мне даже понадобится создать новый var? для него

i.e var temp ... но что будет дальше, я не могу опустить голову.

var weather = json.weather[0].main 
       setIconAndDescription(weather, location) 

      } 
      else { 


       description = "Oops, I couldn't find the weather in " + location; 
       document.getElementById("description").innerHTML = description; 

      } 
     } 
    } 
} 

function setIconAndDescription(weather, location){ 

    var icon; 
    var description; 


    weather = weather.toLowerCase(); 


    if (weather == "clear sky" 
     || weather == "clear"){ 

     icon = "clear.svg"; 
     description = "Yay, sunshine!"; 
     document.body.style.backgroundColor = "#FA6144"; 
     document.getElementById("icon").style.backgroundColor = "#7A2F21"; 
      document.getElementById("temp").style.backgroundColor = "#7A2F21"; 
     document.getElementById("description").style.backgroundColor = "#E0563D"; 

Затем, когда это исправлено, мне необходимо изменить температуру, чтобы она отображалась внутри div, который я установил?

Любая помощь приветствуется,

спасибо,

Zack

+0

В 'var weather = ...' у вас есть инструкция 'else' без' if' перед ней. Наверное, опечатка. – Sam

ответ

0

Вот как я бы это сделать.

// Get the temperature 
var temp = json.main.temp 

// Get your div you want to put it in 
var mydiv = document.getElementById('mydivid') 

// Set the inner HTML as that temperature (plus units, in your case, kelvin I guess) 
mydiv.innerHTML(temp + "K") 
+0

Спасибо, что вернулись ко мне. К сожалению, это ничего не возвращает. Когда я впервые использовал ваш код, он сломал приложение, но я переместил его ниже существующего кода, и он не нарушает код, но он ничего не делает, что я вижу. Это просто не показывает данные! –

+0

Спасибо, хотя это хорошее место для начала :) –

+0

Ваш код для сломанного для начала. Это всего лишь процесс, который вам нужно использовать. Рад, что я мог бы помочь :) – JBux

 Смежные вопросы

  • Нет связанных вопросов^_^