Map不使用d3.js加载
Map NOT loading using d3.js?
这是我第一次尝试使用d3制作web地图,尽管我复制了相同的源代码,但我遇到了奇怪的问题。然而,地图不会加载,我不知道是否从数据的问题或有一些错误的代码。希望有人能弄明白!!
这是代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>D3 Test</title>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script type="text/javascript">
d3.select("body").append("p").text("new paragraph!");
var svg = d3.select("body").append("svg")
.attr("width", 960)
.attr("height",1160)
d3.json("usa.geojson", function (data) {
var group = svg.selectAll("g")
.data(data.features)
.enter()
.append("g")
var projection = d3.geo.mercator();
var path = d3.geo.path().projection(projection);
var areas = group.append("path")
.attr("d",path)
.attr("class", "area")
.attr("fill", "steelblue")
});
</script>
</body>
geojson文件:
{
"type": "FeatureCollection",
"features": [
{ "type": "Feature",
"properties": { "GEO_ID": "0400000US23", "STATE": "23", "NAME": "Maine",
"LSAD": "", "CENSUSAREA": 30842.923000 },
"geometry": { "type": "MultiPolygon", "coordinates":
你的代码有两个问题:
-
你通过你的评论/dropbox提供的GeoJSON是畸形的。它在第44行被截断,表示亚利桑那州。
-
你可以改进JSON回调函数来正确处理错误。API文档中有d3.json():
用两个参数调用回调:错误(如果有的话)和解析后的JSON
你应该定义一个包含两个参数的回调
d3.json("usa.geojson", function (error, data) {
我已经纠正了这些错误,并把一个工作的Plunk。请注意,在本例中只显示了少数几个状态,因为我必须削减usa.geojson
文件以在plnkr.co上处理它。
相关文章:
- 当脚本由system.js加载时,如何要求('electron')
- 使用JS加载HTML元素
- Mailchimp内联表单验证不适用于JS加载的HTML
- 使用Microsoft Office.js加载项进行自动身份验证
- PHP 图表 js 加载 mysql 和接口
- 节点JS加载JS&ejb文件中的css文件
- 使用springy.js加载多个图形时闪烁画布
- 何时需要JS加载所有模块
- Backbone Js加载部件中的应用程序
- 击倒没有定义?确实需要js加载任何内容
- 使用三个js加载三维模型示例
- Knockout.JS加载顺序问题
- jquery选项卡和js加载内容
- Features.js-加载静态内容
- MongoDB脚本和CSV文件:我可以使用require.js加载jquery.CSV吗
- Ember.js加载模板上的Per-Model Promise状态
- 延迟js加载的最佳方式
- 使用D3.js加载用于可视化的本地数据
- 用angular.js加载更多分页|按钮dos'不要藏起来
- 如何使用队列.js和 D3.js 加载多个文件