我正在使用 d3 在传单地图上添加 svg 圆圈。我的小提琴在这里http://jsfiddle.net/nextstopsun/C3U8g/
我添加了一个 reset() 函数来映射 viewreset 事件,以计算包含所有圆圈的 svg g 元素的转换。此函数在地图视图重置事件中调用。
svg.attr("width", topRight[0] - bottomLeft[0])
.attr("height", bottomLeft[1] - topRight[1])
.style("margin-left", bottomLeft[0] + "px")
.style("margin-top", topRight[1] + "px");
g.attr("transform", "translate(" + -bottomLeft[0] + "," + -topRight[1] + ")");
(代码最初来自这个例子http://bost.ocks.org/mike/leaflet/)
我可以看到正在重新计算 g 元素的转换参数,但圆圈没有重新定位(或者它们重新定位错误)并且不与地图切片图层对齐。不过,平移地图时一切正常。必须改变什么才能在缩放时正确重新定位?