Javascript 使用D3显示地图时遇到问题
我正在尝试使用以下代码显示纽约的地图:Javascript 使用D3显示地图时遇到问题,javascript,d3.js,geojson,Javascript,D3.js,Geojson,我正在尝试使用以下代码显示纽约的地图: var width = 960; var height = 490; d3.select('svg') .attr('width', width) .attr('height', height); var CityProjection = d3.geoEquirectangular(); d3.json('data.json').then(function (data) { var boroughs =
var width = 960;
var height = 490;
d3.select('svg')
.attr('width', width)
.attr('height', height);
var CityProjection = d3.geoEquirectangular();
d3.json('data.json').then(function (data) {
var boroughs = data.features
d3.select('svg').selectAll('path')
.data(boroughs.map(x => x.geometry))
.enter()
.append('path')
.attr('fill', '#099')
var dAttributeFunction = d3.geoPath()
.projection(CityProjection);
d3.selectAll('path').attr('d', dAttributeFunction);
});
我可以看到html文档中的数据,但在我的浏览器上,地图显示得非常小:
任何见解都将受到高度赞赏。提前谢谢 您尚未指定适合调整要素大小的比例或投影中心/旋转。大多数d3投影都有默认显示整个世界的参数-您没有更改投影,因此地图显示整个世界,这解释了大小。按照建议尝试
projection.fitSize([width,height],geoJsonObject)
。如果您有一组geojson功能,您需要将它们放在geojson功能集合中,以便它们是可以传递给fitSize的单个对象,正如感谢@AndrewReid的第一部分所述,我是D3新手,你的评论真的很有帮助。很高兴能提供帮助,如果还有问题,请告诉我。