【发布时间】:2021-01-08 21:58:42
【问题描述】:
我试图通过动画应用加入/更新。
我的意图是
显示新“进入”大陆的绿色 并将先前存在的大陆变成灰色。
然而,
对于第一个入口点,它正确显示为绿色, 但是当它被更新时,新的“输入”点被涂成灰色,就好像那已经是现有的数据点一样,当我回来时,地图显示“部分绿色和部分灰色”,我坚信这是“BUG”
代码如下。
function drawFeatures(json) {
var svg = d3.select("#map").select("svg");
var transform = d3.geoTransform({ point: projectPoint });
var path = d3.geoPath().projection(transform)
var featureElement = svg.selectAll("path")
.data(json.features)
.join(
enter => enter.append("path")
.attr("fill", 'rgba(0,100,0,0.5)'),
exit => exit
.attr('fill', 'rgba(10,10,10,0.2)')
)
map.on("viewreset", update);
map.on('zoomend', update)
update();
function update() {
featureElement.attr("d", path);
}
}
完整的代码在下面的链接中。
https://codepen.io/jotnajoa/project/editor/ZjaOax
提前谢谢你。
【问题讨论】:
标签: javascript d3.js data-visualization geojson