我试图使用getRow()方法(描述为here)
但是在运行我的网页时,我得到"Uncaught TypeError: Object #<U> has no method 'getRow' "
。
此功能是否已被弃用?如果没有,我该如何确保可以使用它?
这是我的代码:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
google.load('visualization', '1',{'packages': ['table']});
然后稍后(data
和dataToAdd
都是DataTable()
):
data.addRow(dataToAdd.getRow(0));
答案 0 :(得分:3)
如果您阅读:https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable
您会找到一个函数getValue(rowIndex, columnIndex)
在我的例子中,我有一个lat / lons列表,我确保有效,然后渲染。点击一个纬度/经度我想用lat / lons做点什么。向下滚动到底部以查看DataTable.getValue()
的用法var dataTable = new google.visualization.DataTable();
dataTable.addColumn('number', 'Latitude');
dataTable.addColumn('number', 'Longitude');
dataTable.addColumn('string', 'Name');
$.each(data, function(i, o) {
var lat = parseFloat(o.lat);
var lon = parseFloat(o.lon);
var name = o.name;
if(LIB.Location.isLatLonValid([lat, lon])) {
var row = [lat, lon, name];
dataTable.addRow(row);
}
});
var options = {
width : 550
,height : 240
,region: country
,legend: 'none'
,showTip : false
,mapType : 'normal'
};
var chart = new google.visualization.Map(document.getElementById('location_pin_chart'));
chart.draw(dataTable, options);
// handle clicking on pin
google.visualization.events.addListener(chart,'select', function(e) {
var selection = chart.getSelection();
var lat = dataTable.getValue(selection[0].row, 0); // HERE is where I get the value!
var lon = dataTable.getValue(selection[0].row, 1);
alert(lat + ", " + lon);
});
答案 1 :(得分:0)
我找到了使用
的解决方法(dataToAdd.K).map(function tmp(x) {return(x["c"])})
这为您提供了dataToAdd
DataTable()中的行数组。
答案 2 :(得分:0)