我正在学习使用d3制作topojson地图。
我有陆地的坐标信息,并且已经成功渲染出来了。
那么,我如何给海洋(即陆地以外的区域)添加颜色呢?我尝试着给经纬网格上色,但是无法填满整个地图,留下了空白的部分。
这个可视化地图托管在http://jbk1109.github.io/上。
这个可视化地图托管在http://jbk1109.github.io/上。
var projection = d3.geo.stereographic()
.scale(245)
.translate([width / 2, height / 2])
.rotate([-20, 0])
.clipAngle(180 - 1e-4)
.clipExtent([[0, 0], [width, height]])
.precision(.1);
var path = d3.geo.path()
.projection(projection)
var graticule = d3.geo.graticule();
var g = svg.append("g")
svg.append("path")
.datum(graticule)
.attr("class", "graticule")
.attr("d", path)
.style("fill","none")
.style("stroke","#777")
.style("stroke-width",0.2)
var land = svg.insert("path", ".graticule")
.datum(topojson.feature(world, world.objects.land))
.attr("class", "land")
.attr("d", path)
.style("fill",'#cbcbcb')
.style("opacity",0.8)