Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON数据导入到D3.js+;谷歌地图通过内部数组_Javascript_Json_D3.js - Fatal编程技术网

Javascript 将JSON数据导入到D3.js+;谷歌地图通过内部数组

Javascript 将JSON数据导入到D3.js+;谷歌地图通过内部数组,javascript,json,d3.js,Javascript,Json,D3.js,我现在正在尝试一个名为“GoogleMaps+D3”()的D3.js示例。在示例代码中,数据与外部JSON文件(stations.JSON)一起导入。是否可以使用数组加载数据?我修改了代码如下,但它不工作。感谢您提供的任何解决方案 var data=[{“KMAE”:[-120.12,36.98,“马德拉市机场”[26,1,2,5,6,3,2,1,2,7,29,12,3],“KSJC”:[-121.92,37.37,“圣何塞国际机场”[28,1,1,1,1,6,10,5,3,2,4,14,21,

我现在正在尝试一个名为“GoogleMaps+D3”()的D3.js示例。在示例代码中,数据与外部JSON文件(stations.JSON)一起导入。是否可以使用数组加载数据?我修改了代码如下,但它不工作。感谢您提供的任何解决方案

var data=[{“KMAE”:[-120.12,36.98,“马德拉市机场”[26,1,2,5,6,3,2,1,2,7,29,12,3],“KSJC”:[-121.92,37.37,“圣何塞国际机场”[28,1,1,1,1,6,10,5,3,2,4,14,21,7],“KMCE”:[-120.50,37.28,“美塞市机场”;[29,1,1,1,3,7,5,2,1,3],“美塞空军基地”[-57,37],[34,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,36.67,“萨利纳斯市机场”,[21,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,38.00,“康科德布坎南油田”,[24,3,3,3,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,4,4,4,4]],,“KMMKMKMY:[21.121.5.85,36.58.5.58.58,36.58,”3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,67,“海沃德机场”,[20,2,2,2,7,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,20,2,2,2,2,2,7,7,2,7,7,7,7,7,7,7,7,7,2,7,2,2,2,2,2,2,2,6,2]],,“KSTS TTTTTTTTs:[[12.22.22.82,8.82,38.50.50,38.50.50.50.50.50,”10.50.50.50,“10,38.50.50.50,“圣圣罗萨塔Ros10,38.50,”10,38.50.50,“圣圣罗萨多多多10,38.50,”10.50,”10,38.50.50,”10.50,“圣圣圣圣罗萨萨萨萨萨萨塔罗萨县,”,”10.50,”10,1,1,37.33,“圣何塞/里德/希尔夫”,[35,0 0 0 0 0 0 0 0 0 0 0,1,1,1,1,1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1,1,1,1,1,1,1,1,1,1,1[1],,,,“K维维6 6 6 6 6 6 6 6 6 6 6.6.7.7.93,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-122.37,37.62,“旧金山国际机场”[13,3,3,2,3,4,4,7,31,20,2,3],“KLVK”:[-121.82,37.70,“利弗莫尔市机场”,[32,2,7,3,1,1,2,7,9,17,16,2,1]]
];
如果(错误)抛出错误;
var overlay=new google.maps.OverlayView();
//将覆盖添加到地图时添加容器。
overlay.onAdd=函数(){
var layer=d3.select(this.getPanes().overlayer.append(“div”)
.attr(“类”、“站”);
//将每个标记绘制为单独的SVG元素。
//我们可以使用单个SVG,但它的大小是多少?
overlay.draw=函数(){
var projection=this.getProjection(),
填充=10;
var marker=layer.selectAll(“svg”)
.数据(d3.条目(数据))
.each(转换)//更新现有标记
.enter().append(“svg”)
.每个(转换)
.attr(“类别”、“标记”);
//加一个圆圈。
标记。附加(“圆”)
.attr(“r”,4.5)
.attr(“cx”,填充)
.attr(“cy”,填充);
//添加一个标签。
marker.append(“文本”)
.attr(“x”,填充+7)
.attr(“y”,填充)
.attr(“dy”,“.31em”)
.text(函数(d){return d.key;});
函数变换(d){
d=新的google.maps.LatLng(d.value[1],d.value[0]);
d=投影。从LatlngToDivPixel(d);
返回d3。选择(此)
.样式(“左”(d.x-填充)+“px”)
.样式(“顶部”(d.y-填充)+“px”);
}
};
};
//将覆盖图绑定到地图上…
覆盖.setMap(map);
结果如下:

您可以使用自定义函数替换该函数,并使用本地数据调用该函数,如下所示:

var data = {"KMAE":[..
mapFunction(data);
// Load the station data. When the data comes back, create an overlay.
function mapFunction(data) {..

非常感谢您的解决方案,echonax!