如何通过JavaScript将参数从D3的.js文件传递到Arcgis Api的.js文件?
How to pass parameter from the .js file of D3 to .js file of Arcgis Api by JavaScript?
我使用D3和ArcGIS API 3.19开发一个交互式Web.In ArcGis .js
文件API,我使用下面的代码构建一个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()
可以得到一个output.but第二个什么也得不到
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
文件中使用?谢谢!
我看不出您编写代码的方式有任何问题。当函数 TransInterval
被调用时,来自 d.name
的值将被分配给变量 geo
。
关于 JavaScript 你需要了解的是,变量是函数作用域的。所以在执行第二个 console.log(geo)
时,函数 TransInterval
可能还没有被调用。
我使用D3和ArcGIS API 3.19开发一个交互式Web.In ArcGis .js
文件API,我使用下面的代码构建一个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()
可以得到一个output.but第二个什么也得不到
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
文件中使用?谢谢!
我看不出您编写代码的方式有任何问题。当函数 TransInterval
被调用时,来自 d.name
的值将被分配给变量 geo
。
关于 JavaScript 你需要了解的是,变量是函数作用域的。所以在执行第二个 console.log(geo)
时,函数 TransInterval
可能还没有被调用。