2017-02-09 7 views
0

Я новичок в веб-дизайне, но я пытаюсь создать приложение Weather, используя API openweatherapp: https://openweathermap.org/current#geo. Объект JSON ниже:Невозможно выбрать элементы JSON

{"coord":{"lon":5.38,"lat":34.72},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":280.903,"pressure":1000.23,"humidity":65,"temp_min":280.903,"temp_max":280.903,"sea_level":1031.37,"grnd_level":1000.23},"wind":{"speed":8.5,"deg":317},"clouds":{"all":0},"dt":1486603649,"sys":{"message":0.3449,"country":"DZ","sunrise":1486621797,"sunset":1486660553},"id":2475612,"name":"Tolga","cod":200} 

Вот мой JavaScript:

$(document).ready(function() { 

// findind my latitude and longitude 
if(navigator.geolocation){ 

function success(position){ 
var lat = position.coords.latitude.toString(); 
var long = position.coords.longitude.toString(); 
$("p").html("latitude: " + lat + "<br>longitude: " + long); 

// using the API to get the weather from those lat and long values 
$.getJSON("http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + long+"&appid=6a5aa3b59ebd571086cbd82be484ec8b", function(a){ 
    temp = a[0].main.temp.toString(); 
    hum = a[0].main.humidity.toString(); 
    press= a[0].main.pressure.toString(); 
    name = a[0].name; 
    $("h1").html(temp); 
}); 
}; 


}; 

function failure(){ 
    $("p").html("Not working"); 
    }; 

    navigator.geolocation.getCurrentPosition(success,failure); 


}); 

Лат и длинная часть работает нормально, но не API для погоды. Любая помощь будет оценена по достоинству.

EDIT: Вот мой codepen, чтобы сделать его проще: https://codepen.io/tadm123/pen/OWojPx

ответ

0

работал нормально для меня. Убедитесь, что ваш браузер имеет разрешение знать ваше местоположение и что на компьютере есть GPS. Вероятно, это не будет работать на рабочем столе.

Попробуйте вручную установить значение lat и long, и оно должно работать.