D3.js 如何通过JavaScript将参数从D3的.js文件传递到Arcgis Api的.js文件?
我使用D3和ArcGIS API 3.19开发了一个交互式WebD3.js 如何通过JavaScript将参数从D3的.js文件传递到Arcgis Api的.js文件?,d3.js,arcgis-js-api,D3.js,Arcgis Js Api,我使用D3和ArcGIS API 3.19开发了一个交互式Web 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 += "&
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);
在函数TransInterval
中,第一个控制台.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
文件中使用?谢谢大家! 我认为您编写代码的方式没有任何问题。调用函数TransInterval
时,将d.name
中的值分配给变量geo
关于JavaScript,您需要了解的是,变量是函数范围的。因此,在执行第二个<代码>控制台.log(GEO)< /代码>时,函数<代码> TransInterval < /代码>可能不被调用。您认为第一个是代码>控制台。()(代码)>代码>,在函数内或外部。<代码>控制台。日志()/代码>函数内是第一个。我通过代码>控制台检查执行顺序。log(1)和
控制台日志(2)
。首先执行外部命令。谢谢你的回答。很高兴我能帮忙。接受答案,这样会帮助别人。