WPのPOST上でGoogle Visualization APIのサンプルを動かしてみた
February 8, 2009 – 8:01 pm1週間前のエントリー「プラグインrunPHPを導入してBMI計算用画面を作ってみた」で、ブログの投稿記事(POST)上でphpが動作できるようにしたという話を書いた。こうなると、POST上でJavaScriptが動作、できればGoogle Visualization APIが動作できればと思って、いろいろ試してみた。結果、Googleが提供しているサンプルが、POST上でも、簡単に動作することが分かった。
動作例: 何はさておきGoogle Visualization APIのExampleのひとつ「Bar Chart」を実際に動作させてみよう。以下の例、少なくとも、私のPC上(Widows-XP,Browser:IE7)では問題なく動作している。
POST内でJavaScriptを使うためには?: 上記のExampleを動作させるには、当然のことながら、POST上でJavaScriptが使えるようにしなければならない。このあたりのこと、WordPressのCodexに書いてあった(Using Javascript)。ここで述べられていることを私が理解した範囲でまとめると、POSTのなかにScriptを書き下さないで、JavaScript fileを作り、POSTから呼び出せばよろしいということのようだ。
JavaScriptファイルの作成: ブログツールを置いているディレクトリ上にscriptsなるディレクトリを作成し、この中にgoogle.jsと名づけたJavaScriptファイルを作成。このファイルの内容は、Exampleに示されているscript部分をそのままコピーしたもの。参考のために、その内容をそのまま示すと以下:
google.load("visualization", "1", {packages:["barchart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Year'); data.addColumn('number', 'Sales'); data.addColumn('number', 'Expenses'); data.addRows(4); data.setValue(0, 0, '2004'); data.setValue(0, 1, 1000); data.setValue(0, 2, 400); data.setValue(1, 0, '2005'); data.setValue(1, 1, 1170); data.setValue(1, 2, 460); data.setValue(2, 0, '2006'); data.setValue(2, 1, 660); data.setValue(2, 2, 1120); data.setValue(3, 0, '2007'); data.setValue(3, 1, 1030); data.setValue(3, 2, 540); var chart = new google.visualization.BarChart(document.getElementById('chart_div')); chart.draw(data, {width: 400, height: 240, is3D: true, title: 'Company Performance'}); }
POST上での記述: POSTのエディターのタグを[HTML]にして、bar chartを配置しようとする位置に以下を挿入(上記の動作例の部分に下記が挿入されている):
<script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="/scripts/google.js"></script> <div id="chart_div"></div>
これだけで、めでたくWordPressのPOST上で「動作例」に示したようなBarChartが書けた。実に簡単、私にとっては大きな前進だ。
6 Trackback(s)