Google GeoChart(库Lavacharts)->尽管创建了值数组,但AddRow / AddRows不会在地图上呈现任何结果

时间:2019-01-02 18:48:33

标签: arrays laravel-5 google-visualization

问题:

Laravel GeoChart Library到渲染Google Visualization->尽管创建了值数组,但AddRow / AddRows在地图上不呈现任何结果。

控制器代码(图表创建代码)

$countryIso = ['US','CA','BR']; 
foreach ($countryIso as $isocode) {
            $productDDP[$isocode] = $this->product->priceCalc($product = $product, $countryIso = $isocode);
        }

查看结果:使用不同的Code变体并给出错误:

如果我打印print_r($productDDP);

的结果

它显示以下代码:

Array
(
    [US] => 900
    [CA] => 1,276
    [BR] => 1,215
)

我尝试了不同的方法:

和-> addRows(array($ productDDP)); “无效的单元格数量,必须小于或等于列数。”

带有-> addRow(array($ productDDP));或使用-> addRow([$ productDDP]);

传递给Khill \ Lavacharts \ DataTables \ Cells \ Cell :: __ construct()的参数3必须为数组类型,给出字符串

和-> addRows($ productDDP);

传递给Khill \ Lavacharts \ DataTables \ DataTable :: addRow()的参数1必须为数组类型,或者为null,给出字符串

与-> addRow(array([$ productDDP]))

渲染图表,但在地图上未设置任何值。

有什么问题吗

-我必须使用那种数组?

-addRow或addRows?。

-我们必须以哪种格式传递addRow / s的数组数据?

考虑到这一点,我将所有可能的变体传递给addrow(),我不知道这是问题还是编码问题。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

数组格式错误
首先,您要创建一个具有键/值对

的单个数组
Array
(
    [US] => 900
    [CA] => 1,276
    [BR] => 1,215
)

每行应该是具有两个值的数组,没有键值对

类似...

Array
(
    [0] => Array
        (
            [0] => US
            [1] => 900
        )

    [1] => Array
        (
            [0] => CA
            [1] => 1276
        )

    [2] => Array
        (
            [0] => BR
            [1] => 1215
        )

)

尝试像这样构建数组...

$countryIso = ['US','CA','BR'];
$productDDP = [];
foreach ($countryIso as $isocode) {
    $productDDP[] = array($isocode, $this->product->priceCalc($product = $product, $countryIso = $isocode));
}

然后使用addRows

addRows($productDDP);