1

我对 JSON 相当陌生,我想创建一个 choropleth 示例。http://gabrielflor.it/a-half-decade-of-rising-poverty每当点击年份时,它只会转到 JSON 的不同部分(我假设)。这是为了避免重新绘制整个地图并调用另一个 JSON.js 文件,通常如何完成这样的功能?如果是这样,这些 .JSON 文件会变得很大吗?

4

2 回答 2

1

使用 JSON 只是一种存储每年所需值的方法。当您切换到另一年时,JS 解析给定年份的 JSON 并更新 choropleth。对于您提供的示例,这里是使用的 JSON:

http://gabrielflor.it/static/data/saipe.json

这是一个好方法,因为您每年只需要一个 JSON,并且只加载一次。但是,由于 d3 需要这种方式的数据,我认为如果您想提供额外的数据,例如 gabrielflor 示例,您应该添加另一个 JSON:

http://gabrielflor.it/static/js/d3.poverty-by-county.js?v=121107

他用 d3 像这样加载 JSON:

d3.json('../static/data/states.json', function (json) { states = json; });

或者

d3.json('../static/data/saipehighlights.json', function (json) { saipehighlights = json; });

于 2012-11-07T14:44:13.663 回答
0

如果您查看您提供的示例页面的网络流量(例如使用 Chrome 开发人员工具)。贫困数据文件很大,但映射数据文件更大。您会注意到,网站加载需要更长的时间,但之后它在客户端运行非常流畅,无需进行任何服务器调用。

该网站只是关于浏览信息和漂亮的设计 - 为此我认为如果用户体验更流畅(即用户不必等待年份数据加载),更长的加载时间是完全可以接受的。

于 2012-11-07T14:48:19.337 回答