我试图用一些geojson和一个经文创建一个地图。
geojson正确地添加到地图中,但我无法使用标准d3更新,输入,退出程序添加格线。当我只是附加它时,正确添加了经纬网。我不完全理解attr" d"的作用,所以可能问题出在哪里?有任何想法吗?谢谢!
update = function(map){
var projection = d3.geo.satellite()
.distance(projParams["distance"])
.scale(projParams["scale"])
.rotate([projParams["rotateLong"], projParams["rotateLat"], projParams["rotateZ"]])
.center([projParams["centerX"], projParams["centerY"]])
.tilt(projParams["tilt"])
.clipAngle(Math.acos(1 / 1.1) * 180 / Math.PI - 1e-6)
.precision(1);
var path = d3.geo.path()
.projection(projection);
// create california shape
var mapElement = svg.selectAll(".boundary")
.data(map.features)
.attr("d", path);
mapElement.enter().append("path")
.attr("class", "boundary")
.attr("d", path)
mapElement.exit().remove();
// create graticule shape
var graticule = d3.geo.graticule()
.extent([[-130.4183, 35], [-47 + 1e-6, 57 + 1e-6]])
.step([.1, .1]);
var graticuleElement = svg.selectAll(".graticule")
.data(graticule)
.attr("d", path);
graticuleElement.enter().append("path")
.attr("class", "graticule")
.attr("d", path)
graticuleElement.exit().remove();
// working graticule code without update ability
// grid = svg.append("path")
// .datum(graticule)
// .attr("class", "graticule")
// .attr("d", path);}