代码之家  ›  专栏  ›  技术社区  ›  s_h

google geochart(library lavacharts)->addrow/addrows尽管创建了值数组,但未在地图上呈现任何结果

  •  2
  • s_h  · 技术社区  · 7 年前

    问题:

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

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

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

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

    如果我打印结果 print_r($productDDP);

    它显示以下代码:

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

    我尝试了不同的方法:

    使用->添加行(数组($productddp)); 无效的单元格数,必须小于或等于列数。

    使用->addrow(数组($productddp));或使用->addrow([$productddp]);

    传递给khill\lavacharts\datatables\cells\cell::\uu construct()的参数3必须是类型数组,给定的字符串

    使用->添加行($productddp);

    传递给khill\lavacharts\datatables\datatable::addrow()的参数1必须是类型array或null,给定的字符串

    使用->addrow(数组([$productddp]))

    呈现图表,但地图上未设置任何值。

    问题?

    -我要用什么来做这种数组?

    -添加行还是添加行?.

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

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

    感谢您的帮助。

    1 回复  |  直到 7 年前
        1
  •  1
  •   WhiteHat    7 年前

    数组格式错误
    首先,创建一个带有键/值对的数组

    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);
    
    推荐文章