我需要通过单击将一张地图更改为另一张地图。我写了一些代码,但它不起作用。
地图绘制和更改部分代码:
var projection = d3.geo.mercator()
.scale(550)
.translate([mapWidth / 2, mapHeight / 2]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").append("svg")
queue()
.defer(d3.json, mapFile0)
.defer(d3.json, mapFile1)
.await(ready);
function ready(error, map0, map1) {
var myMap = svg.selectAll("path")
.data(topojson.feature(map0, map0.objects.countries).features)
.enter().append("path")
.attr("d", path)
.attr("class", "state")
.style("fill", "#cccccc")
.style("stroke", "#ffffff")
.on("click", changemap(map1));
changemap(map) {
myMap.data(topojson.feature(map, map.objects.countries).features)
.enter().append("path")
.attr("d", path)
.exit().remove();
}
});
任何帮助表示赞赏。