aeroson

Untitled

Nov 1st, 2013
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. <html>
  2. <head>
  3.  
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  5.  
  6. <script src="http://code.highcharts.com/highcharts.js"></script>
  7. <script src="http://code.highcharts.com/modules/exporting.js"></script>
  8.  
  9. <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
  10. <link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
  11.  
  12. </head>
  13. <body>
  14.  
  15.  
  16. <div id="search">
  17. <form>
  18. <input type="date" name="from">
  19. <input type="date" name="to">
  20. <input type="toogle" name="type">
  21. </form>
  22. </div>
  23. <div id="container" style="width: 100%; height: 100%;"></div>
  24. <div id="tables" class="table table-striped" style="width: 100%;"></div>
  25.  
  26.  
  27. <script>
  28.  
  29. $(function(){
  30.  
  31. //var type="day";
  32. var type="hour";
  33. $.ajax({
  34. type:"GET",
  35. url:"http://homel.vsb.cz/~zao034/via/weather.php",
  36. dataType:"json",
  37. data:{
  38. format:"json",
  39. type:type,
  40. from:"30.07.2012",
  41. to:"31.07.2012"
  42. },
  43. success:function(data){
  44. console.log(data);
  45. var graph_data=[];
  46. var weather=data.weather;
  47. var datetimeDone=[];
  48. $.each(weather,function(i){
  49. var datetime=0;
  50. //Date.UTC(year,month,day,hours,minutes,seconds,millisec)
  51. if(type=="day") { //20.07.2012
  52. var date=weather[i].datetime.split(".");
  53. datetime=Date.UTC(date[2],date[1],date[0]);
  54. } else if(type=="hour") { //20.07.2012 01:00:00
  55. var date=weather[i].datetime.split(".");
  56. var time=date[2].split(" ");
  57. date[2]=time[0];
  58. time=time[1].split(":");
  59. datetime=Date.UTC(date[2],date[1],date[0],time[0],time[1],time[2]);
  60. }
  61.  
  62. // same datetime second time means it was supposed to be PM so lets add 12 hours
  63. if(datetimeDone.filter(function(e){ return e==datetime; }).length>0) {
  64. datetime+=1000*60*60*12; //12 hours
  65. }
  66. datetimeDone.push(datetime);
  67.  
  68. graph_data.push([
  69. datetime,
  70. parseFloat(weather[i].value)
  71. ]);
  72. });
  73. console.log( graph_data);
  74.  
  75. // lokalizace
  76. Highcharts.setOptions({
  77. lang: {
  78. months: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen','září', 'říjen', 'listopad', 'prosinec'],
  79. weekdays: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
  80. shortMonths: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen','září', 'říjen', 'listopad', 'prosinec'],
  81. }
  82. });
  83.  
  84. var tables=$('#tables');
  85.  
  86. var table=$('<table></table>').appendTo(tables);
  87. table.append('<tr><th>Datům/Čas</th><th>Teplota (°C)</th></tr>');
  88. $.each(graph_data,function(i){
  89. var d=graph_data[i];
  90. table.append('<tr><td>'+(new Date(d[0])).toLocaleString()+'</td><td>'+d[1]+'</td></tr>');
  91. });
  92.  
  93. $('#container').highcharts({
  94. title: {
  95. text: 'Graf teplot',
  96. },
  97. yAxis: {
  98. title: {
  99. text: 'Teplota (°C)'
  100. },
  101. },
  102. xAxis: {
  103. type: "datetime"
  104. },
  105. tooltip: {
  106. valueSuffix: '°C'
  107. },
  108. series: [{
  109. name:'Teplota',
  110. data:graph_data,
  111. }],
  112. });
  113.  
  114.  
  115. }
  116. });
  117.  
  118.  
  119. });
  120.  
  121. </script>
  122.  
  123. </body>
  124. <html>
Advertisement
Add Comment
Please, Sign In to add comment