Tiện ích chất lượng không khí - Nguồn cấp dữ liệu cải tiến mới
Air Quality Widget - New Improved Feed

Posted on July 28th 2015
Chia sẻ: aqicn.org/faq/2015-07-28/air-quality-widget-new-improved-feed/vn/
{ widget : feed }

Để cải thiện khả năng tích hợp các tiện ích AQI của chúng tôi trong các trang web bên ngoài, chúng tôi đã phát triển nguồn cấp dữ liệu API tiện ích mới. So với nguồn cấp dữ liệu tiện ích hiện có, nguồn cấp dữ liệu API mới này mang lại sự linh hoạt hơn nhiều cho việc tích hợp nhưng cũng có nhiều tùy chọn hơn để tùy chỉnh giao diện tiện ích.

Ví dụ: bạn có thể hiển thị một tiện ích nhỏ đơn giản như ... (di chuyển chuột qua số AQI để xem chi tiết) hoặc một tiện ích lớn hơn có thông tin chi tiết về các chất gây ô nhiễm trong 24 giờ qua như hiển thị bên phải.

Khung mới cũng hỗ trợ tạo khuôn mẫu, nhiều ngôn ngữ (tiếng Anh, tiếng Trung giản thể và phồn thể, tiếng Tây Ban Nha, ...) cũng như khả năng thực hiện tích hợp theo chương trình với các lệnh gọi lại javascript dựa trên dữ liệu.

A. Thiết lập cơ bản

Việc tích hợp cơ bản rất đơn giản và dễ dàng. Trước tiên bạn cần thêm đoạn mã sau:

  
<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>

Sau đó, chỉ cần thêm mã khác này để bao gồm tiện ích:

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

Hàm `_aqiFeed` lấy khối cấu hình cho tiện ích làm đối số. Tham số `container: "city-aqi-container"` đề cập đến id của thẻ mà bạn muốn chèn tiện ích vào đó (ví dụ: `<span id='city-aqi-container'></span>`), và tham số city tên của thành phố mà bạn muốn hiển thị chỉ số Chất lượng không khí hiện tại (ví dụ: `city: "london"`).

B. Chỉ định ngôn ngữ

...

Bạn cũng có thể chỉ định ngôn ngữ sẽ được sử dụng bằng cách đặt tùy chọn lang . Ví dụ: để bao gồm tiện ích bằng tiếng Trung (như hiển thị bên phải), hãy sử dụng mã sau:

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

Các ngôn ngữ hiện được hỗ trợ là:

  • "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
  • "tr": Turkish
  • "uk": Ukrainian
  • "cs": Czech
  • "be": Belarusian
  • "km": Khmer
  • "lo": Lao

    Nếu không được chỉ định hoặc đặt thành null thì tiếng Anh sẽ được sử dụng.

  • C. Chỉ định định dạng hiển thị

    ...

    Có thể tùy chỉnh văn bản sẽ được hiển thị trong tiện ích bằng cách chỉ định tùy chọn display . Ví dụ: để hiển thị cả tên "AQI" dạng văn bản cũng như thời gian cập nhật (như được hiển thị trên tiện ích bên trái), bạn có thể sử dụng mã sau:

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

    display tham số là một chuỗi dựa trên HTML và có thể chứa bất kỳ từ khóa nào sau đây:

    • `%cityname` cho tên thành phố (ví dụ Beijing ),
    • `%aqi` cho giá trị AQI được trang trí (ví dụ 58 ),
    • `%aqiv` cho giá trị AQI chưa được trang trí (văn bản thô) (ví dụ: 58 ),
    • `%style` để khai báo css của các chi tiết AQI được trang trí (ví dụ background-color: #ffde33;color:#000000; ),
    • `%date` cho thời điểm AQI được cập nhật (ví dụ: Wed 20:00 ),
    • `%impact` cho tác động sức khỏe liên quan (ví dụ: Good , Moderate ...)
    • `% ghi công` cho ghi nhận dữ liệu AQI ( ví dụ: Beijing Environmental Protection Monitoring Center )
    • `%details` để biết chi tiết AQI đầy đủ (nội dung của cửa sổ bật lên được hiển thị khi di chuyển chuột qua giá trị AQI).

    Dưới đây là một vài ví dụ:

    Display Configuration Result

    D. Gọi lại theo chương trình

    Nếu muốn tích hợp DIY, bạn cũng có thể chỉ định lệnh gọi lại hàm javascript khi dữ liệu được tải. Bạn chỉ cần thêm tùy chọn callback trong khối tham số, chẳng hạn như:

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

    Ví dụ: giả sử rằng bạn cũng đang sử dụng jquery, đoạn mã sau:

      
    <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>

    sẽ tạo ra nội dung sau:

    Các đối tượng aqi chứa tất cả các từ khóa được đề cập trong phần C (định dạng hiển thị).

    E. Bao gồm nhiều vật dụng

    Có thể bao gồm nhiều vật dụng trong một trang. Tất cả những gì bạn cần là truyền vào hàm `_aqiFeed` một mảng có tất cả các tiện ích bạn cần đưa vào. Ví dụ: để chèn London, Paris và New York, có thể sử dụng mã này:

      
    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. Sử dụng thức ăn

    Nguồn cấp dữ liệu tiện ích này được cung cấp miễn phí và nhằm mục đích duy nhất là tích hợp nguồn cấp dữ liệu vào các trang web khác (tức là các ứng dụng bị loại trừ) và với điều kiện sử dụng hợp lý và được chấp nhận. Chúng tôi có quyền thay đổi cấu trúc nguồn cấp dữ liệu (định dạng dữ liệu) bất kỳ lúc nào và không cần thông báo trước, vì vậy tốt hơn hết hãy liên hệ với chúng tôi nếu bạn dự định thực hiện tích hợp tùy chỉnh.

    Khi thực hiện tích hợp, có một số quy tắc nghĩa vụ cần được áp dụng khi sử dụng nguồn cấp dữ liệu:

    • Trước tiên, hãy luôn đảm bảo rằng có sự ghi nhận của EPA ban đầu. Tất cả dữ liệu về Chất lượng Không khí mà bạn có thể tìm thấy trong dự án Chỉ số Chất lượng Không khí Thế giới là nhờ vào nỗ lực làm việc chăm chỉ của tất cả các EPA trên toàn thế giới, vì vậy hãy đảm bảo cung cấp thông tin ghi công cho công việc của họ. Nếu bạn sử dụng API có lập trình, thuộc tính sẽ có sẵn từ trường attribution .
    • Nếu bạn đến từ một tổ chức và sử dụng dữ liệu, vui lòng thể hiện sự tôn trọng và trả lại các khoản tín dụng cho công việc của chúng tôi. Nếu bạn đang cố gắng thu thập nguồn cấp dữ liệu, xin lưu ý rằng dự án này dựa vào các dự án hợp tác và tài trợ, vì vậy hãy cân nhắc hỗ trợ chúng tôi thay vì loại bỏ chúng tôi, đặc biệt nếu bạn là một tổ chức hoặc trường đại học quy mô lớn.
    • Trên thực tế, đừng hành động như WRI ( Viện Tài nguyên Thế giới ): Loại bỏ nguồn cấp dữ liệu tổng thể của dự án Chỉ số Chất lượng Không khí Thế giới và bán rẻ đến mức họ thậm chí không đưa ra bất kỳ ghi nhận nào cho công việc của chúng tôi, và điều này bất chấp 80 của họ triệu USD tài trợ hàng năm. Không tin chúng tôi? Kiểm tra ảnh chụp nhanh này.

    G. Những cải tiến trong tương lai

    Đây là phiên bản đầu tiên của API nguồn cấp dữ liệu tiện ích mới này. Có khá nhiều cải tiến đang được triển khai, chẳng hạn như chiều rộng và chiều cao đồ họa có thể điều chỉnh, thang đo AQI có thể lựa chọn, v.v. Nếu bạn muốn đề xuất bất kỳ cải tiến cụ thể nào khác, vui lòng gửi tin nhắn cho chúng tôi.

    Nhấn vào đây để xem tất cả các mục Câu hỏi thường gặp
  • AQI Scale: What do the colors and numbers mean?
  • Using Statistical Distances for Real-time Sensor Networks Validation
  • Nitrogen Dioxyde (NO2) in our atmosphere
  • Về phương pháp đo chất lượng không khí và mức độ ô nhiễm:

    Về các thang đo chất lượng không khí

    -Giá trị chỉ số chất lượng không khí (AQI)Mức độ ảnh hưởng sức khỏe
    0 - 50TốtChất lượng không khí được xem là đạt tiêu chuẩn, và ô nhiễm không khí coi như không hoặc gây rất ít nguy hiểm
    51 -100Trung bìnhChất lượng không khí ở mức chấp nhận được; tuy nhiên, một số chất gây ô nhiễm có thể ảnh hưởng tới sức khỏe của một số ít những người nhạy cảm với không khí bị ô nhiễm.
    101-150Không tốt cho người nhạy cảmNhóm người nhạy cảm có thể chịu ảnh hưởng sức khỏe. Số đông không có nguy cơ bị tác động.
    151-200Có hại cho sức khỏeMỗi người đều có thể sẽ chịu tác động đến sức khỏe; nhóm người nhạy cảm có thể bị ảnh hưởng nghiêm trọng hơn.
    201-300Rất có hại cho sức khỏeCảnh báo nguy hại sức khỏe nghiêm trọng. Đa số mọi người đều bị ảnh hưởng.
    300+Nguy hiểmCảnh báo sức khỏe: tất cả mọi người có thể chịu tác động nghiêm trọng đến sức khỏe

    Để biết thêm về ô nhiễm và chất lượng không khí , xem wikipedia chất lượng không khí đang đề hoặc hướng dẫn về chất lượng không khí và sức khỏe của bạn .

    Để biết những lời khuyên về sức khỏe rất hữu ích của bác sĩ y khoa Richard Saint Cyr ở Bắc Kinh, xem www.myhealthbeijing.com blog.


    Thông báo sử dụng: Tất cả dữ liệu chất lượng không khí không được xác thực tại thời điểm công bố. Nhằm đảm bảo chất lượng, những dữ liệu này có thể được cập nhập mà không cần thông báo trước. Nhóm dự án Chỉ số chất lượng không khí toàn cầu đã thực hiện tất cả yêu cầu cần thiết trong việc biên soạn các thông tin này. Nhóm dự án hoặc các bên liên quan sẽ không chịu trách nhiệm về bất kỳ tổn thất, thương tích hoặc thiệt hại nào phát sinh trực tiếp hoặc gián tiếp từ việc cung cấp những dữ liệu này trong bất kỳ trường hợp nào.



    Cài đặt


    Cài đặt ngôn ngữ:


    Temperature unit:
    Celcius