aplicacion.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. function app() {
  2. var req = new XMLHttpRequest();
  3. var result = document.getElementById("result");
  4. var direccion = document.getElementById("direccion");
  5. var geo_options = {
  6. enableHighAccuracy: false,
  7. maximumAge : 0,
  8. timeout : 5000
  9. }
  10. function doGet(lat,lng){
  11. var d = new Date();
  12. var time=d.getHours()*100 + d.getMinutes();
  13. var params="?lat="+lat+"&long="+lng+"&t="+time;
  14. req.open("GET", "http://uv.especificosba.com.ar/back/location.php"+params, true);
  15. req.onreadystatechange=function(){
  16. if(req.readyState == 4 && req.status == 200)
  17. var res=JSON.parse(req.responseText);
  18. if(res==undefined) { return; }
  19. if(res.errorn==1){
  20. result.innerHTML=res.error;
  21. } else {
  22. result.innerHTML="El indice UV actual en <br/>" +res.provincia + " es " + res.indicet + " ("+ numtolet(res.indicet) +") <br/>y el m&aacute;ximo esperado para hoy es " + res.indice+ " ("+ numtolet(res.indice) +")";
  23. }
  24. resize();
  25. }
  26. req.send();
  27. }
  28. function error(e){
  29. var cargando=document.getElementById("cargando");
  30. cargando.parentNode.removeChild(cargando);
  31. initialize();
  32. resize();
  33. }
  34. function numtolet(num){
  35. if (num<=2) return "Muy bajo";
  36. if (num<=4) return "Bajo";
  37. if (num<=6) return "Moderado";
  38. if (num<=9) return "Alto";
  39. if (num<=14) return "Muy alto";
  40. return "Extremo";
  41. }
  42. var geocoder = null;
  43. var markers = new Array();
  44. function autocomplete_cb() {
  45. direccion = document.getElementById("direccion");
  46. geocoder = new google.maps.Geocoder();
  47. var address = direccion.value;
  48. var callback1 = function(results, status) {
  49. result.innerHTML="Cargando...";
  50. if (status == google.maps.GeocoderStatus.OK) {
  51. doGet(results[0].geometry.location.lat(),results[0].geometry.location.lng());
  52. }
  53. };
  54. geocoder.geocode( { 'address': address}, callback1);
  55. }
  56. function initialize() {
  57. var autocomplete = new google.maps.places.Autocomplete(document.getElementById("direccion"));
  58. google.maps.event.addListener(autocomplete, 'place_changed', function() {
  59. autocomplete_cb();
  60. });
  61. }
  62. error();
  63. }
  64. function resize(){
  65. var html = document.documentElement;
  66. var height = Math.max( html.clientHeight, html.offsetHeight );
  67. }
  68. window.addEventListener('load', app, false);
  69. window.addEventListener('resize', resize, false);