我使用D3和ArcGIS API 3.19开发交互式Web。在ArcGis API的.js
文件中,我使用以下代码构建URL以获取.json
。
var timeinterval =geo;
var locationURL="https://paleobiodb.org/data1.2/colls/list.json?lngmin=-125&lngmax=-60&latmin=25&latmax=50&limit=all&show=time&level=3";
locationURL += "&"+"interval="+timeinterval;
在D3的.js
文件中,我双击以获取d.name
。
var g=svg.selectAll("g")
.data(partition.nodes(root))
.enter().append("svg:g")
.on("click", clicked)
.on("dblclick",TransInterval);
在function TransInterval
中,第一个console.log()
可以获得输出。但第二个没有任何结果。
var geo;//the global variable
function TransInterval(d){
var wa= d.name;
geo=wa;
console.log(geo);
return geo;
};
console.log(geo);
那么,我想知道如何将d.name
传递给全局变量,并且可以在ArcGis API的.js
文件中使用?谢谢!
答案 0 :(得分:0)
我没有看到你编写代码的方式有任何问题。调用函数d.name
时,geo
的值将分配给变量TransInterval
。
您需要了解的JavaScript是,变量是函数作用域。因此,在执行第二个console.log(geo)
时,可能未调用函数TransInterval
。