2016-03-25 25 views
0

Ich mache eine Wetter-App mit API von openweathermap. Es funktionierte aber es zeigte die falsche Information über meinen Platz und die Temperatur. Hier ist der Code:openweathermap api falsche Informationen zurückgeben

<h1>weather forcast</h1> 
<button id="btn">view</button> 
<h2 id="place"></h2> 
<h3 id="description"></h3> 
<p id="temp"></p> 

und das Skript:

var getWeather = function(data) { 
$.getJSON('http://api.openweathermap.org/data/2.5/weather', { 
    lat: data.loc.split(",")[0], 
    lon: data.loc.split(",")[1], 
    appid: "0596efa13d750207ba4eff57342a81dd" // change this 
}, showWeather, 'jsonp'); 
}; 

var showWeather = function(data) { 
$("#test").text("I AM CHANGED. THANKS!") 
$("#temp").text(data.main.temp) 
$("#description").text(data.weather[0].description) 
$("#place").text(data.name) 
}; 

$(document).ready(function() { 
$("#btn").click(function() { 
    $.getJSON('http://ipinfo.io/json', getWeather, 'jsonp') 
}) 
}) 

Einige Leute haben mir gesagt das api kann die Informationen über den nächstgelegenen Ort zurück, wo der Austausch/isp ist, aber ich weiß, dass das Ergebnis falsch ist, weil Es ist ein völlig seltsamer Name. Und die Temperatur, wie ich es versuchte, zeigte es 287.944, es ist nicht die richtige Fahrenheit oder Celcius nach den Angaben meines Standorts. In der Tat ist die Temperatur jetzt in meinem Standort 60 F oder 15 C

Antwort

0

Die Temperatur ist in Kelvin, weil Sie keine Parameter wie Einheiten = imperial oder Units = metric zur Verfügung gestellt haben. Der Name ist von der nächsten Station, wo die Wetterparameter herkommen.

Enrico