gpt4 book ai didi

javascript - Google API,从数据表中获取值(value)

转载 作者:数据小太阳 更新时间:2023-10-29 03:54:37 26 4
gpt4 key购买 nike

google.visualization.events.addListener( 
geomap, "regionClick", function(e) {
console.log(e["region"]);
console.log(data.getValue(e["region"],1));
});

我使用此代码查看单击了哪个区域。 e["region"] 给出该区域的行号,然后我使用 getValue 查看区域(标记)名称。

现在,在控制台日志中显示了这个错误:

未捕获错误:行索引 1 无效。应该在 [0-14] 范围内

行索引 1 如何无效,因为它在 [0-14] 范围内?

编辑:

好了,更多代码 :)

     <!--
You are free to copy and use this sample in accordance with the terms of the
Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Google Visualization API Sample</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">

google.load("visualization", "1", {"packages": ["geomap"]});

google.setOnLoadCallback(drawMap);



function drawMap() {

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

data.addRows(24);

data.addColumn("string", "City");

data.addColumn("number", "Numar anunturi");data.setValue(0, 0, 'Ilfov');

data.setValue(0, 1, 19);



data.setValue(1, 0, 'Giurgiu');

data.setValue(1, 1, 7);



data.setValue(2, 0, 'Brasov');

data.setValue(2, 1, 6);



data.setValue(3, 0, 'Buzau');

data.setValue(3, 1, 3);



data.setValue(4, 0, 'Valcea');

data.setValue(4, 1, 3);



data.setValue(5, 0, 'Dolj');

data.setValue(5, 1, 3);



data.setValue(6, 0, 'Neamt');

data.setValue(6, 1, 2);



data.setValue(7, 0, 'Calarasi');

data.setValue(7, 1, 2);



data.setValue(8, 0, 'Dambovita');

data.setValue(8, 1, 2);



data.setValue(9, 0, 'Prahova');

data.setValue(9, 1, 2);



data.setValue(10, 0, 'Braila');

data.setValue(10, 1, 2);



data.setValue(11, 0, 'Constanta');

data.setValue(11, 1, 2);



data.setValue(12, 0, 'Suceava');

data.setValue(12, 1, 2);



data.setValue(13, 0, 'Caras-Severin');

data.setValue(13, 1, 2);



data.setValue(14, 0, 'Cluj');

data.setValue(14, 1, 2);



data.setValue(15, 0, 'Bihor');

data.setValue(15, 1, 1);



data.setValue(16, 0, 'Bacau');

data.setValue(16, 1, 1);



data.setValue(17, 0, 'Maramures');

data.setValue(17, 1, 1);



data.setValue(18, 0, 'Arges');

data.setValue(18, 1, 1);



data.setValue(19, 0, 'Gorj');

data.setValue(19, 1, 1);



data.setValue(20, 0, 'Ialomita');

data.setValue(20, 1, 1);



data.setValue(21, 0, 'Bucuresti');

data.setValue(21, 1, 1);



data.setValue(22, 0, 'Mures');

data.setValue(22, 1, 1);



data.setValue(23, 0, 'Sibiu');

data.setValue(23, 1, 1);





var options = {width: 800,height:400};

options["region"] = "RO";

options["colors"] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors

options["dataMode"] = "markers";



var container = document.getElementById("map_chart_div");

var geomap = new google.visualization.GeoMap(container);

google.visualization.events.addListener(
geomap, "regionClick", function(e) {
console.log(e["region"]);
console.log(data.getValue(e["region"],1));
});

geomap.draw(data, options);

}

</script>
</head>
<body style="font-family: Arial;border: 0 none;">
<div id="map_chart_div" style="width: 800px; height: 400px;"></div>
</body>
</html>

最佳答案

我无法用您发布的代码重现您的问题 - 我似乎根本无法触发 regionClick 函数 - 但您看到的错误消息让我怀疑您的问题是 e["region"] 返回一个字符串,而不是一个数字。

尝试将此添加到您的函数中:

google.visualization.events.addListener( 
geomap, "regionClick", function(e) {
console.log(e["region"]);
console.log("Type of value is: " + typeof(e["region"]));
console.log(data.getValue(e["region"],1));
});

然后,如果你得到的是一个字符串,你可以尝试:

google.visualization.events.addListener( 
geomap, "regionClick", function(e) {
console.log(e["region"]);
console.log("Type of value is: " + typeof(e["region"]));
console.log(data.getValue(Math.floor(e["region"]),1));
});

关于javascript - Google API,从数据表中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5991549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com