Widget pentru calitatea aerului - Noul feed îmbunătățit
Air Quality Widget - New Improved Feed

Posted on July 28th 2015
Acțiune: aqicn.org/faq/2015-07-28/air-quality-widget-new-improved-feed/ro/
{ widget : feed }

Pentru a îmbunătăți integrarea widget-urilor noastre AQI în site-urile web externe, am dezvoltat un nou feed API de widget. În comparație cu feedul widget existent, acest nou feed API oferă mult mai multă flexibilitate pentru integrare, dar și multe mai multe opțiuni pentru personalizarea aspectului widgetului.

Puteți, de exemplu, să afișați un widget mic la fel de simplu ca ... (mutați mouse-ul peste numărul AQI pentru a vedea detaliile) sau un widget mai mare cu detalii despre poluanții din ultimele 24 de ore, așa cum se arată în dreapta.

Noul cadru acceptă, de asemenea, șabloane, mai multe limbi (engleză, chineză simplificată și tradițională, spaniolă, ...), precum și posibilitatea de a face integrare programatică cu apeluri Javascript bazate pe date.

A. Configurare de bază

Integrarea de bază este simplă și directă. Mai întâi trebuie să adăugați următoarea bucată de cod:

  
<script  type="text/javascript"  charset="utf-8">  
	(function  (w,  d,  t,  f)  {  
		w[f]  =  w[f]  ||  function  (c,  k,  n)  {  
			s  =  w[f],  k  =  s['k']  =  (s['k']  ||  (k  ?  ('&k='  +  k)  :  ''));  s['c']  =  
				c  =  (c  instanceof  Array)  ?  c  :  [c];  s['n']  =  n  =  n  ||  0;  L  =  d.createElement(t),  e  =  d.getElementsByTagName(t)[0];  
			L.async  =  1;  L.src  =  '//feed.aqicn.org/feed/'  +  (c[n].city)  +  '/'  +  (c[n].lang  ||  '')  +  '/feed.v1.js?n='  +  n  +  k;  
			e.parentNode.insertBefore(L,  e);  
		};  
	})(window,  document,  'script',  '_aqiFeed');    
</script>

Apoi, trebuie doar să adăugați acest alt cod pentru a include widget-ul:

  
<span  id="city-aqi-container"></span>  
  
<script  type="text/javascript"  charset="utf-8">  
	_aqiFeed({  container:  "city-aqi-container",  city:  "beijing"  });  
</script>

Funcția `_aqiFeed` ia ca argument blocul de configurare pentru widget. Parametrul `container: "city-aqi-container"` se referă la id-ul etichetei în care doriți să introduceți widget-ul (ex. `<span id='city-aqi-container'></span>`), iar parametrul city numele orașului pentru care doriți să afișați valoarea curentă a calității aerului (de ex. `city: "london"`).

B. Specificarea Limbii

...

De asemenea, puteți specifica limba care va fi utilizată setând opțiunea lang . De exemplu, pentru a include widget-ul în chineză (așa cum se arată în dreapta), utilizați următorul cod:

  
_aqiFeed({  
	container:"city-aqi-container",  
	city:"beijing",  
	lang:"cn"  
});  

Limbile acceptate în prezent sunt:

  • "en": English
  • "cn": Chinese
  • "jp": Japanese
  • "es": Spanish
  • "kr": Korean
  • "ru": Russian
  • "hk": Traditional Chinese
  • "fr": French
  • "pl": Polish
  • "de": German
  • "pt": Portuguese
  • "vn": Vietnamese
  • "it": Italian
  • "id": Indonesian
  • "nl": Dutch
  • "fa": Persian
  • "th": Thai
  • "hu": Hungarian
  • "el": Greek
  • "ro": Romanian
  • "bg": Bulgarian
  • "ur": Urdu
  • "hi": Hindi
  • "ar": Arabic
  • "sr": Serbian
  • "bn": Bangla
  • "hu": Hungarian
  • "bs": Bosnian
  • "hr": Croatian

    Dacă nu este specificat sau setat la null , se folosește limba engleză.

  • C. Specificarea formatului de afișare

    ...

    Este posibil să personalizați textul care urmează să fie afișat în cadrul widget-ului prin specificarea opțiunii display . De exemplu, pentru a afișa atât numele textual „AQI”, cât și timpul de actualizare (așa cum se arată în widgetul din stânga), puteți utiliza următorul cod:

    >
      
    _aqiFeed({    
    	display:"%cityname  AQI  is  %aqi<br><small>on  %date</small>",  
    	container:"city-aqi-container-display",    
    	city:"beijing"  
    });  
    

    display parametrului este un șir bazat pe HTML și poate conține oricare dintre următoarele cuvinte cheie:

    • `%cityname` pentru numele orașului (de exemplu Beijing ),
    • `%aqi` pentru valoarea AQI decorată (de ex. 58 ),
    • `%aqiv` pentru valoarea AQI nedecorată (text brut) (de ex. 58 ),
    • `%style` pentru declarația css a detaliilor AQI decorate (de exemplu background-color: #ffde33;color:#000000; ),
    • `%date` pentru ora la care a fost actualizat AQI (de exemplu Wed 20:00 ),
    • `%impact` pentru impactul asociat asupra sănătății (de exemplu, Good , Moderate ...)
    • `%attribution` pentru atribuirea datelor AQI (de exemplu Beijing Environmental Protection Monitoring Center )
    • `%details` pentru detaliile complete AQI (conținutul pop-up-ului afișat când deplasați mouse-ul peste valoarea AQI).

    Iată câteva exemple:

    Display Configuration Result

    D. Reapel programatic

    Dacă preferați integrarea DIY, puteți specifica, de asemenea, o funcție de apelare javascript care să fie atunci când datele sunt încărcate. Trebuie doar să adăugați opțiunea callback în blocul de parametri, cum ar fi, de exemplu:

      
    _aqiFeed({  city:"beijing",  callback:function(aqi){  
    	/*  Do  whatever  you  want  with  the  AQI  object  */  
    	console.log(aqi);    
    }  });

    De exemplu, presupunând că utilizați și jquery, următorul cod:

      
    <div  id='my-container'></div>  
    <script  type="text/javascript"  charset="utf-8">  
    	_aqiFeed({  
    		city:  "beijing",  lang:  "pl",  callback:  function  (aqi)  {  
    			$("#my-container").html(aqi.details);  
    		}  
    	});  
    </script>

    va produce următorul conținut:

    Obiectele aqi conțin toate cuvintele cheie menționate în secțiunea C (format de afișare).

    E. Inclusiv widget-uri multiple

    Este posibilă includerea mai multor widget-uri într-o singură pagină. Tot ce aveți nevoie este să transmiteți funcției `_aqiFeed` o matrice cu toate widget-urile pe care trebuie să le includeți. De exemplu, pentru a introduce Londra, Paris și New York, puteți folosi acest cod:

      
    var  cities  =  ["london",  "newyork",  "seoul",  "guangzhou",  "tokyo",  "shanghai",  "paris","hongkong"];  
      
    var  aqiWidgetConfig  =  [];    
    cities.forEach(function(city)  {  aqiWidgetConfig.push({city:city,  callback:  displayCity});  });  
    _aqiFeed(aqiWidgetConfig);  
      
    function  displayCity(aqi)  {  
    	$("#mutiple-city-aqi").append(aqi.text("<center>%cityname<br>%aqi<br><small>%date</small></center>"));  
    }  
    
    The result is:

    F. Utilizarea furajelor

    Acest feed de widget-uri este oferit gratuit și cu scopul exclusiv de a integra feedul în alte site-uri web (adică aplicațiile sunt excluse) și cu condiția unei utilizări rezonabile și acceptabile. Ne rezervăm dreptul de a modifica structura feedului (formatul de date) în orice moment și fără notificare prealabilă, așa că mai bine ne contactați dacă intenționați să faceți o integrare personalizată.

    Când se face integrarea, există câteva reguli deontologice care ar trebui aplicate atunci când se utilizează fluxul de date:

    • În primul rând, asigurați-vă întotdeauna că este prezentă atribuirea APE de origine. Toate datele despre calitatea aerului pe care le puteți găsi în proiectul World Air Quality Index se datorează muncii asidue din partea tuturor EPA din întreaga lume, așa că vă rugăm să asigurați-vă că oferiți și atribuirea pentru munca lor. Dacă utilizați API-ul programatic, atribuirea este disponibilă din câmpul attribution .
    • Dacă sunteți dintr-o instituție și utilizați datele, vă rugăm să arătați respect și să plătiți înapoi creditele pentru munca noastră. Dacă încercați să eliminați fluxul de date, vă rugăm să rețineți că acest proiect se bazează pe proiecte de sponsorizare și cooperare, așa că luați în considerare să ne susțineți mai degrabă decât să ne renunțați, mai ales dacă sunteți o instituție sau o universitate la scară largă.
    • De fapt, nu acționați ca WRI ( World Resource Institute ): eliminând fluxul de date global al proiectului Indexul mondial al calității aerului și fiind atât de ieftin încât nici măcar nu ar da nicio atribuire pentru munca noastră, și asta în ciuda celor 80 de ani. milioane de dolari anuale de finanțare. Nu ne crezi? Verificați acest instantaneu .

    G. Îmbunătățiri viitoare

    Aceasta este prima versiune a acestui nou API de feed widget. Există deja câteva îmbunătățiri în curs, cum ar fi lățimea și înălțimea grafică reglabile, scara AQI selectabilă etc. Dacă doriți să sugerați orice altă îmbunătățire specifică, nu ezitați să ne trimiteți un mesaj.

    Faceți clic aici pentru a vedea toate intrările de întrebări frecvente
  • AQI Scale: What do the colors and numbers mean?
  • Using Statistical Distances for Real-time Sensor Networks Validation
  • Nitrogen Dioxyde (NO2) in our atmosphere
  • Despre măsurarea calității aerului și a poluării:

    Despre nivelurile de calitate a aerului

    -Valorile indicelui de calitate a aerului (AQI).Niveluri de îngrijorare pentru sănătate
    0 - 50BunCalitatea aerului este considerată satisfăcătoare, iar poluarea aerului prezintă un risc mic sau deloc
    51 -100ModeratCalitatea aerului este acceptabilă; cu toate acestea, pentru anumiți poluanți poate exista o îngrijorare moderată de sănătate pentru un număr foarte mic de persoane care sunt neobișnuit de sensibile la poluarea aerului.
    101-150Nesănătos pentru grupurile sensibileMembrii grupurilor sensibile pot avea efecte asupra sănătății. Este puțin probabil ca publicul larg să fie afectat.
    151-200NesănătosToată lumea poate începe să experimenteze efectele asupra sănătății; membrii grupurilor sensibile pot avea efecte mai grave asupra sănătății
    201-300Foarte NesănătoasăAvertismente de sănătate privind situațiile de urgență. Întreaga populație este mai probabil să fie afectată.
    300+RiscantAlertă de sănătate: toată lumea poate avea efecte mai grave asupra sănătății

    Pentru a afla mai multe despre calitatea aerului și poluare, consultați subiectul wikipedia pentru calitatea aerului sau ghidul airnow despre calitatea aerului și sănătatea dvs.

    Pentru sfaturi foarte utile de sănătate ale medicului doctor Richard Saint Cyr din Beijing, consultați blogul www.myhealthbeijing.com .


    Notificare privind utilizarea: Toate datele privind calitatea aerului sunt nevalide la momentul publicării și, datorită asigurării calității, aceste date pot fi modificate, fără notificare, în orice moment. Proiectul Index al calității aerului mondial a exercitat toate competențele și îngrijirea rezonabilă în compilarea conținutului acestor informații și în nici un caz Echipa de proiect pentru indexul calității aerului sau agenții săi sunt răspunzători în contract, delictuală sau în alt mod pentru orice pierdere, vătămare sau daună care rezultă direct sau indirect din furnizarea acestor date.



    Settings


    Language Settings:


    Temperature unit:
    Celcius