Google Visualization API (7) - The "Hello World" of Creating Visualizations
示範如何製作一個將資料顯示在表格裡面的視覺效果:
Seq | '); } for (var col = 0; col < data.getNumberOfColumns(); col++) { html.push('' + this.escapeHtml(data.getColumnLabel(col)) + ' | '); } html.push('|
---|---|---|
', (row + 1), ' | '); } for (var col = 0; col < data.getNumberOfColumns(); col++) { html.push(data.getColumnType(col) == 'number' ? '' : ' | '); html.push(this.escapeHtml(data.getFormattedValue(row, col))); html.push(' | '); } html.push('
draw
方法, 定義在視覺效果類別的原型上. 這個方法接受兩個參數:
- 包含要顯示資料的 DataTable
- 選擇參數(Object), 這個參數可以是 null. 使用 name/value 的方式來定義 每個參數都應該有預設值, 用於沒有特別指定的情況時使用.
將視覺效果的 Javascript code 存放在可取得的地方, 接下來的例子我們假設是儲存在
http://www.mydomain.com/myvis.js
製作視覺效果的時候應該盡量避免跟其他 Javascript 的命名或是 CSS 規則, 產生衝突.
避免使用全域變數. 可以建立一個獨立的命名空間存放所有資料. Google 的所有視覺效果都使用
google.visualization
這個命名空間.
td {color: blue;}
會直接影響到畫面上其他 <td>
, 並非只限於你的視覺效果圖.克服這種問題還有個解決方法, 將整個視覺效果內容使用有 class 名稱的
div
包裝起來, 而所有的 CSS 規則使用在這個 class 名稱底下. 例如, 底下這範例的 CSS 規則只在 class 是 "acme-visualization" 底下的 <td>
上有作用.
// ...
留下文件與做個範例可以讓視覺效果更方便其他人使用.
- 寫下所有支援的選項; 每個選項名稱; 預期的類型, 以及預設值.
- 寫下所有支援的方法.
draw
方法是所有視覺效果共有的, 但是每個視覺效果都可以擁有各自額外的方法. - 寫下所有可處發的事件; 每個事件名稱和屬性以及每個事件觸發的時機.
- 製作一個範例, 描述如何使用視覺效果, 以及如何使用它支援的選項參數, 事件, 方法.
- 清楚的描述視覺效果的資料策略. 大部分的視覺效果在瀏覽器中直接處理資料, 但是有些必須送資料到主機上, 例如建立一個圖案或是地圖. 如果你送資料到主機的話:
- 清楚的定義傳送什麼資料.
- 提醒資料會在主機上存放多久.
- 記載什麼樣的資料會被誰取用. E.g.: Company XYZ, etc.
- 當資料被紀錄下來時會放多久.
如果程式碼不起作用時, 有幾種方法可能可以協助你解決問題:
- 檢查排版. 記住 Javascript 是區分大小寫的語言.
- 使用 JavaScript debugger. 在 Firefox 中, 你可以使用 JavaScript console, Venkman Debugger, 或是 Firebug add-on. 在 IE 中, 你可以使用 Microsoft Script Debugger.
- 在 Google Visualization API 討論群組中搜尋你的問題. 如果你無法找到能夠回答你問題的文章時, 將你的問題發表在討論群組上面, 並附上一個能夠表明問題的網頁.