เพื่อปรับปรุงการบูรณาการวิดเจ็ต AQI ของเราภายในเว็บไซต์ภายนอก เราได้พัฒนาฟีด API วิดเจ็ตใหม่ เมื่อเปรียบเทียบกับฟีดวิดเจ็ตที่มีอยู่ ฟีด API ใหม่นี้ให้ความยืดหยุ่นในการรวมมากกว่ามาก แต่ยังมีตัวเลือกอีกมากมายสำหรับการปรับแต่งลักษณะที่ปรากฏของวิดเจ็ต
ตัวอย่างเช่น คุณสามารถแสดงวิดเจ็ต เล็กๆ ได้ง่ายๆ เช่น
(เลื่อนเมาส์ไปเหนือหมายเลข AQI เพื่อดูรายละเอียด) หรือวิดเจ็ต ขนาดใหญ่ ที่มีรายละเอียดเกี่ยวกับมลพิษใน 24 ชั่วโมงที่ผ่านมาดังที่แสดงทางด้านขวากรอบงานใหม่ยังรองรับการสร้างเทมเพลต หลายภาษา (อังกฤษ จีนตัวย่อและตัวเต็ม สเปน ...) รวมถึงความเป็นไปได้ในการบูรณาการทางโปรแกรมกับการเรียกกลับจาวาสคริปต์ตามข้อมูล
ก. การตั้งค่าพื้นฐาน
การบูรณาการขั้นพื้นฐานทำได้ง่ายและตรงไปตรงมา ก่อนอื่นคุณต้องเพิ่มโค้ดต่อไปนี้:
<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>
จากนั้น เพียงเพิ่มโค้ดอื่นนี้เพื่อรวมวิดเจ็ต:
<span id="city-aqi-container"></span> <script type="text/javascript" charset="utf-8"> _aqiFeed({ container: "city-aqi-container", city: "beijing" }); </script>
ฟังก์ชัน `_aqiFeed` ใช้เป็นอาร์กิวเมนต์ของบล็อกการกำหนดค่าสำหรับวิดเจ็ต พารามิเตอร์ `container: "city-aqi-container"` หมายถึงรหัสของแท็กที่คุณต้องการแทรกวิดเจ็ต (เช่น `<span id='city-aqi-container'></span>`) และ city
พารามิเตอร์คือชื่อเมืองที่คุณต้องการแสดงการอ่านค่าคุณภาพอากาศในปัจจุบัน (เช่น `เมือง: "ลอนดอน")
B. การระบุภาษา
คุณยังสามารถระบุภาษาที่จะใช้โดยการตั้งค่าตัวเลือก lang
ตัวอย่างเช่น หากต้องการรวมวิดเจ็ตเป็นภาษาจีน (ดังภาพด้านขวา) ให้ใช้โค้ดต่อไปนี้:
_aqiFeed({ container:"city-aqi-container", city:"beijing", lang:"cn" });
ภาษาที่รองรับในปัจจุบันคือ:
"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 หากไม่ได้ระบุหรือตั้งค่าเป็น null
จะใช้ภาษาอังกฤษ
C. การระบุรูปแบบการแสดงผล
คุณสามารถปรับแต่งข้อความที่จะแสดงภายในวิดเจ็ตได้โดยการระบุตัวเลือก display
ตัวอย่างเช่น หากต้องการแสดงทั้งชื่อ "AQI" แบบข้อความและเวลาอัปเดต (ดังที่แสดงบนวิดเจ็ตทางด้านซ้าย) คุณสามารถใช้โค้ดต่อไปนี้:
_aqiFeed({ display:"%cityname AQI is %aqi<br><small>on %date</small>", container:"city-aqi-container-display", city:"beijing" });
display
พารามิเตอร์เป็นสตริงแบบ HTML และสามารถมีคีย์เวิร์ดใดๆ ต่อไปนี้:
- `%cityname` สำหรับชื่อเมือง (เช่น
Beijing
) - `%aqi` สำหรับค่า AQI ที่ตกแต่งแล้ว (เช่น
58
) - `%aqiv` สำหรับค่า AQI ที่ไม่ได้ตกแต่ง (ข้อความดิบ) (เช่น
58
) - `%style` สำหรับการประกาศ CSS ของรายละเอียด AQI ที่ตกแต่งแล้ว (เช่น
background-color: #ffde33;color:#000000;
) - `%date` สำหรับเวลาที่ AQI ได้รับการอัปเดต (เช่น
Wed 20:00
. ) - `%impact` สำหรับผลกระทบต่อสุขภาพที่เกี่ยวข้อง (เช่น
Good
Moderate
...) - `%attribution` สำหรับการระบุแหล่งที่มาของข้อมูล AQI (เช่น
Beijing Environmental Protection Monitoring Center
) - `%details` สำหรับรายละเอียด AQI แบบเต็ม (เนื้อหาของป๊อปอัปที่แสดงเมื่อเลื่อนเมาส์ไปเหนือค่า AQI)
นี่คือตัวอย่างบางส่วน:
Display Configuration | Result |
---|
D. การโทรกลับแบบเป็นโปรแกรม
หากคุณต้องการบูรณาการ DIY คุณยังสามารถระบุการเรียกกลับฟังก์ชันจาวาสคริปต์ให้เป็นเมื่อมีการโหลดข้อมูลได้ คุณเพียงแค่ต้องเพิ่มตัวเลือก callback
ในบล็อกพารามิเตอร์ เช่น:
_aqiFeed({ city:"beijing", callback:function(aqi){ /* Do whatever you want with the AQI object */ console.log(aqi); } });
ตัวอย่างเช่น สมมติว่าคุณใช้ jquery อยู่ด้วย รหัสต่อไปนี้:
<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>
จะผลิตเนื้อหาดังต่อไปนี้:
วัตถุ aqi
มีคำสำคัญทั้งหมดที่กล่าวถึงในส่วน C (รูปแบบการแสดงผล)
E. รวมวิดเจ็ตหลายรายการ
สามารถรวมวิดเจ็ตหลายรายการไว้ในหน้าเดียวได้ สิ่งที่คุณต้องทำก็แค่ส่งอาร์เรย์ที่มีวิดเจ็ตทั้งหมดที่คุณต้องการรวมไปยังฟังก์ชัน `_aqiFeed` ตัวอย่างเช่น หากต้องการแทรกลอนดอน ปารีส และนิวยอร์ก สามารถใช้โค้ดนี้:
The result is: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>")); }
F. การใช้ฟีด
ฟีดวิดเจ็ตนี้ให้บริการฟรี และเพื่อจุดประสงค์เดียวในการรวมฟีดเข้ากับเว็บไซต์อื่น ๆ (เช่น ไม่รวมแอป) และอยู่ภายใต้เงื่อนไขของการใช้งานที่สมเหตุสมผลและยอมรับได้ เราขอสงวนสิทธิ์ในการเปลี่ยนแปลงโครงสร้างฟีด (รูปแบบข้อมูล) ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า ดังนั้น โปรดติดต่อเราหากคุณวางแผนที่จะทำการผสานรวมแบบกำหนดเอง
เมื่อทำการผสานรวม มีกฎการ กำจัดทันตกรรม บางประการที่ควรนำมาใช้เมื่อใช้ฟีดข้อมูล:
- ขั้นแรก ตรวจสอบให้แน่ใจเสมอว่ามีการระบุแหล่งที่มาของ EPA แหล่งกำเนิดอยู่ ข้อมูลคุณภาพอากาศทั้งหมดที่คุณสามารถหาได้ในโครงการดัชนีคุณภาพอากาศโลกนั้นต้องขอบคุณการทำงานหนักจากสำนักงานปกป้องสิ่งแวดล้อมทั่วโลก ดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ระบุแหล่งที่มาสำหรับงานของพวกเขาด้วย หากคุณใช้ API แบบเป็นโปรแกรม การระบุแหล่งที่มาจะพร้อมใช้งานจากช่องการ
attribution
- หากคุณมาจากสถาบันและใช้ข้อมูลดังกล่าว โปรดแสดงความเคารพและคืนเงินให้กับผลงานของเรา หากคุณกำลังพยายามคัดลอกฟีดข้อมูล โปรดทราบว่าโครงการนี้อาศัยโครงการสนับสนุนและความร่วมมือ ดังนั้นควรพิจารณา สนับสนุนเรา มากกว่าที่จะทิ้งเรา โดยเฉพาะอย่างยิ่งหากคุณเป็นสถาบันหรือมหาวิทยาลัยขนาดใหญ่
- ตามความเป็นจริง อย่าทำตัวเหมือน WRI ( World Resource Institute ) : ทำลายฟีดข้อมูลโครงการ ดัชนีคุณภาพอากาศโลก โดยรวม และทำราคาถูกมากจนไม่ระบุแหล่งที่มาสำหรับงานของเราด้วยซ้ำ และสิ่งนี้แม้จะอายุ 80 แล้วก็ตาม เงินทุนปีละหลายล้านเหรียญสหรัฐ ไม่เชื่อเราเหรอ? ตรวจสอบ ภาพรวม นี้
G. การปรับปรุงในอนาคต
นี่เป็นเวอร์ชันแรกของ API ฟีดวิดเจ็ตใหม่นี้ มีการปรับปรุงอยู่บ้างในขั้นตอนการทำงาน เช่น ความกว้างและความสูงของกราฟิกที่ปรับได้ ขนาด AQI ที่เลือกได้ เป็นต้น หากคุณต้องการแนะนำการปรับปรุงเฉพาะอื่นๆ โปรดส่งข้อความถึงเราได้เลย