2012-08-22 72 views
0

我剛開始玩Google Html服務,但我似乎無法讓我的項目離開地面。我將谷歌示例中的這些代碼拼湊在一起,但我無法實現它的功能。在腳本文件中,我有2個文件,一個叫做Code.gs,另一個是Map.html。當我將這個腳本作爲一個Web應用程序發佈,然後運行它時,頁面會變黑。我知道這是有點工作,因爲如果我將Html with Google apps script。

Hello world

插入正文中,網頁將顯示Hello World。貝婁是分別

function doGet() { 
    return HtmlService.createHtmlOutputFromFile('Map'); 
} 

爲Code.gs和Map.html代碼黑色

<html> 
    <head> 
    <script type='text/javascript' src='https://www.google.com/jsapi'></script> 
    <script type='text/javascript'> 
    google.load('visualization', '1', {'packages': ['geochart']}); 
    google.setOnLoadCallback(drawMarkersMap); 

     function drawMarkersMap() { 
     var data = google.visualization.arrayToDataTable([ 
     ['City', 'Population', 'Area'], 
     ['Rome',  2761477, 1285.31], 
     ['Milan',  1324110, 181.76], 
     ['Naples', 959574,  117.27], 
     ['Turin',  907563,  130.17], 
     ['Palermo', 655875,  158.9], 
     ['Genoa',  607906,  243.60], 
     ['Bologna', 380181,  140.7], 
     ['Florence', 371282,  102.41], 
     ['Fiumicino', 67370,  213.44], 
     ['Anzio',  52192,  43.43], 
     ['Ciampino', 38262,  11] 
     ]); 

     var options = { 
     region: 'IT', 
     displayMode: 'markers', 
     colorAxis: {colors: ['green', 'blue']} 
     }; 

     var chart = new google.visualization.GeoChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
    }; 
    </script> 
    </head> 
    <body> 
    <div id="chart_div" style="width: 900px; height: 500px;"></div> 
    </body> 
</html> 
+0

奇怪的是,當我將它粘貼到jsfiddle.net中時,你的頁面可以正常工作 –

+0

我知道,我也將它放入jsfiddle.net中,並且它工作正常。我一定會錯誤地通過它認爲谷歌應用程序腳本......但我做了它就像它在谷歌網站上 – Rommel

回答

2

這是因爲你使用的庫不支持卡哈。 Caja是一個引擎,它可以在用戶顯示之前進行檢查,目前它支持JQuery和JQuery UI,https://developers.google.com/apps-script/html_service#Caja。所以如果你想測試你的代碼,你可能想要去http://caja.appspot.com/並測試它。

+0

真相是,除了Caja旨在支持的JQuery和JQuery UI之外,其他每個庫都將失敗草草收場。除非這是一個非常基本的東西,否則你可能比在google上搜索和下載lib更快。 –

+0

是否有某種解決方法? – Rommel

+1

它從GAS內部起作用,至少現在:) –

相關問題