d3.js Faux-3D Arcs - Uncaught typeerror:无法读取未定义的属性“对象”

问题描述 投票:0回答:1

数据: 世界110m.json places.json

代码:

queue()
    .defer(d3.json, "http://bl.ocks.org/dwtkns/raw/4686432/world-110m.json")
    .defer(d3.json, "https://raw.githubusercontent.com/fraserxu/d3-map/master/datas/places.json")
    .await(ready);

来源: [http://bl.ocks.org/dwtkns/4973620]

错误:

未捕获的TypeError:无法读取未定义的属性“对象”

在以下代码:

 svg.append("path")
    .datum(topojson.object(world, world.objects.land))
    .attr("class", "land noclicks")
    .attr("d", path);

我已经将index.html部署到IIS中,并尝试将json数据文件放在同一个地方,并尝试使用以下内容:

queue()
    .defer(d3.json, "world-110m.json")
    .defer(d3.json, "places.json")
    .await(ready);

关于如何克服这一问题的任何建议都将是真正的帮助。 谢谢, ķ

javascript json d3.js queue topojson
1个回答
0
投票

我找到了解决方案。我有这两个错误消息:

d3.v3.min.js:1 GET http://localhost/d/4686432/world-110m.json 404 (Not Found)

main.php:139 Uncaught TypeError: Cannot read property 'objects' of undefined
at ready (main.php:139)
at y (queue.v1.min.js:1)
at i (queue.v1.min.js:1)
at Object.<anonymous> (queue.v1.min.js:1)
at Object.t (d3.v3.min.js:1)
at XMLHttpRequest.i (d3.v3.min.js:1)

这导致呈现一个空的地球:

Empty Globe

我在网上搜索“world-110m.json”并找到了这个文件:

world-110m.json

在我的项目目录中,我创建了一个目录“d”,并在其中创建了一个名为“4686432”的目录。我在“4686432”中创建了一个文件“world-110.json”,并将上一个链接中的代码复制到此文件中。

地球现在正确呈现:

Correctly rendered globe

© www.soinside.com 2019 - 2024. All rights reserved.