Re: Предложение по погоде и openweathermap.org
Добавлено: Вт янв 08, 2013 8:51 pm
не получается вызвать егоAthom писал(а):А что именно не получается?
не получается вызвать егоAthom писал(а):А что именно не получается?
Код: Выделить всё
$data_file="http://export.yandex.ru/weather-ng/forecasts/28140.xml?".rand(); // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$temp=$xml->fact->temperature;
// Если значение температуры положительно, для наглядности добавляем "+"
if ($temp>0) {$temp='+'.$temp;}
sg("NTura.Temp",$temp);
sg("NTura.Type",$xml->fact->weather_type);
sg("NTura.Pressure",$xml->fact->pressure);
sg("NTura.Humidity",$xml->fact->humidity);
sg("NTura.WindSpeed",$xml->fact->wind_speed);
$dir = $xml->fact->wind_direction;
switch ($dir){
case 's':
$dir="южное";
break;
case 'n':
$dir="северное";
break;
case 'w':
$dir="западное";
break;
case 'e':
$dir="восточное";
break;
case 'sw':
$dir="юго-западное";
break;
case 'nw':
$dir="северо-западное";
break;
case 'calm':
$dir="штиль";
break;
}
sg("NTura.WindDir",$dir);
sg("NTura.SunRise",$xml->day[0]->sunrise);
sg("NTura.SunSet",$xml->day[0]->sunset);
Код: Выделить всё
function getWeather($id)
{
if(!empty($id))
{
$json = file_get_contents('http://openweathermap.org/data/weather/'.$id.'?type=json');
$weatherData = json_decode($json, true);
return $weatherData;
}
}
$weather = getWeather('523750'); // id нужного города
sg("Chelny.Temp",$weather['temp']);
sg("Chelny.Pressure",$weather['pressure']);
sg("Chelny.Humidity",$weather['humidity']);
sg("Chelny.Wind",$weather['wind']);
sg("Chelny.Clouds",$weather['clouds']);
?>Способ правильный http://goo.gl/FZY3zUrbas81 писал(а):А как узнать id нужного города?
Спасибо!Jager писал(а):Способ правильный http://goo.gl/FZY3zUrbas81 писал(а):А как узнать id нужного города?
Способ быстрый, на главной странице http://openweathermap.org/ в поиск забиваем название города на русском языке, в результатах поиска выбираем нужный населенный пункт, получаем погоду там где надо а в адресной строке видим например http://openweathermap.org/city/523750 последние 6 цифр и есть искомый ID.