2013-12-13 51 views
1

我試圖(和失敗)使用Google的可視化代碼來創建交互式地圖。當我將鼠標懸停在美國州上時,我希望將數值格式化爲包含美元符號。使用交互式地圖時遇到問題

這是我的地圖代碼,有人可以告訴我我做錯了什麼嗎?

function drawVisualization() { 
    var data = google.visualization.arrayToDataTable([ 
    ['State', 'Dollars'], 
    ['US-IL', 200], 
    ['US-IN', 300], 
    ['US-AL', 200], 
    ['US-AZ', 800], 

    ]); 

    var geochart = new google.visualization.GeoChart(
     document.getElementById('visualization')); 
    geochart.draw(data, {width: 556, height: 347, region: "US", resolution: "provinces"}); 
} 
+0

對不起,不是很有經驗,會再試一次。 – user3100915

+0

對不起,我無法弄清楚如何使用塊引用。仍在嘗試 – user3100915

+0

查看[幫助中心](http://stackoverflow.com/help/formatting)以瞭解這裏的工作情況。 – rene

回答

0

對於懸停狀態下的數據,您需要告訴Geochart系統使用特定前綴格式化數據。如果你需要有一個百分比,你可以添加一個帶有百分比符號的後綴。請參閱下面的Google API文檔。

谷歌API文檔:https://developers.google.com/chart/interactive/docs/reference#numberformatter

在你的情況下,兩行代碼使用的是:

// Add the prefix (and set the decimal places) 
var formatter = new google.visualization.NumberFormat({prefix: '$', fractionDigits: 0}); 

// Apply formatter to second column 
formatter.format(data, 1); 

因此,你的代碼應該是這樣的:

function drawVisualization() { 
    var data = google.visualization.arrayToDataTable([ 
    ['State', 'Dollars'], 
    ['US-IL', 200], 
    ['US-IN', 300], 
    ['US-AL', 200], 
    ['US-AZ', 800], 
    ]); 


// --- Code to add --- 
var formatter = new google.visualization.NumberFormat({prefix: '$', fractionDigits: 0}); 
formatter.format(data, 1); 
// --- End of Code to add --- 


    var geochart = new google.visualization.GeoChart(
     document.getElementById('visualization')); 
    geochart.draw(data, {width: 556, height: 347, region: "US", resolution: "provinces"}); 
}