Google GeoChart(Lavacharts 库)-> AddRow / AddRows 未在地图上呈现任何结果,尽管创建了值数组
Posted
技术标签:
【中文标题】Google GeoChart(Lavacharts 库)-> AddRow / AddRows 未在地图上呈现任何结果,尽管创建了值数组【英文标题】:Google GeoChart (library Lavacharts) -> AddRow / AddRows not rendering any result on map despite array of values is created 【发布时间】:2019-05-29 09:54:40 【问题描述】:问题:
Laravel GeoChart Library 渲染 Google Visualization -> 尽管创建了值数组,但 AddRow / AddRows 未在地图上渲染任何结果。
控制器代码(图表创建代码)
$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
)
我尝试了不同的方法:
with ->addRows(array($productDDP)); "无效的单元格数,必须小于或等于列数。"
with ->addRow(array($productDDP));或使用 ->addRow([$productDDP]);
传递给 Khill\Lavacharts\DataTables\Cells\Cell::__construct() 的参数 3 必须是数组类型,给定字符串
与 ->addRows($productDDP);
传递给 Khill\Lavacharts\DataTables\DataTable::addRow() 的参数 1 必须是数组类型或 null,给定字符串
with ->addRow(array([$productDDP]))
渲染图表,但地图上没有设置值。
问题?- 我必须为那种数组使用什么?
- addRow 还是 addRows?。
- 我们必须以哪种格式为 addRow/s 传递数组数据?
考虑到我将所有可能的变体传递给 addrow() 我不知道这是一个问题还是编码问题。
任何帮助表示赞赏。
【问题讨论】:
【参考方案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);
【讨论】:
您对我的阵列大有启发。谢谢! (所以说“你可以在 18 小时内奖励你的赏金”,一旦他们允许我会奖励它)最好的问候!以上是关于Google GeoChart(Lavacharts 库)-> AddRow / AddRows 未在地图上呈现任何结果,尽管创建了值数组的主要内容,如果未能解决你的问题,请参考以下文章
我可以自定义 Google Geochart 图表中的工具提示文本吗?
Google Geochart - 来自JSON数据的同一国家/地区多个值
Google GeoChart(Lavacharts 库)-> AddRow / AddRows 未在地图上呈现任何结果,尽管创建了值数组