2

GeoChart の作成に問題があります。私のコードは次のようになります。

var table = new google.visualization.DataTable();

//set the columns for the table
table.addColumn('string', 'Latitude');
table.addColumn('string', 'Longitude');
table.addColumn({
    type: 'string',
    role: 'tooltip'
});
table.addColumn('number', 'Music Consumers');

var rows = [
    ["42.651445", "-73.755254", "Albany-Schenectady-Troy NY", 100],
    ["35.2225", "-80.837539", "Charlotte NC", 106],
    ...
];

table.addRows(rows);

上記のコードは、チャートがあるはずの場所に赤いエラー ボックスを表示します。

Incompatible data table: Error: Table contains more columns than expected (Expecting 3 columns)

行リストのすべてのリストに 4 つのメンバー (緯度、経度、降順、値) があることを確認しました。3列しか期待していないと言っている理由は何ですか?

4

1 に答える 1

0

そのため、問題を特定しました。最初に投稿したコードにはいくつか問題があります。まず、緯度/経度は数値列タイプである必要があり、行は緯度と経度を数値としてフォーマットする必要があります(これにはparseFloatが機能しました)。

適切なコードは次のようになります。

//set the columns for the table
table.addColumn('number', 'LATITUDE', 'Latitude');
table.addColumn('number', 'LONGITUDE', 'Longitude');
table.addColumn('string', 'DESCRIPTION', 'Description');
table.addColumn('number', 'VALUE', 'Music Consumers');

var rows = [
    [42.651445, -73.755254, "Albany-Schenectady-Troy NY", 100],
    [35.2225, -80.837539, "Charlotte NC", 106],
    ...
];

table.addRows(rows);

var geochart = new google.visualization.GeoChart($mapContainer[0]);
geochart.draw(...);
于 2012-07-05T23:27:55.513 に答える