Я пытаюсь поставить квадрат в центре географического объекта.Я добавил оранжевые круги, чтобы отметить положение центроидов.
С масштабом = 1 (без увеличения) положение квадрата является правильным.![enter image description here](https://i.stack.imgur.com/VXZ3s.png)
Однако, с масштабом > 1 (с увеличением), существует перевод положения квадрата.![enter image description here](https://i.stack.imgur.com/tF21g.png)
Я предполагаю, что проблема возникает, когда я определяю положение квадрата.
let ctrSquare = g.attr("class","ctr_square")
.selectAll(".ctr_square")
.data(featureCollectionZe.features)
.enter()
.append("rect")
.attr("x", (d)=>{return path.centroid(d)[0] - 7/2;})
.attr("y", (d)=>{return path.centroid(d)[1] - 7/2;})
.attr("width",7)
.attr("height",7)
.attr("fill","#0000ff")
.attr("stroke","#0000ff");
Вот мой код: https://plnkr.co/edit/K0k9ACxFWgzsqzHmQHmM