Как сделать перетаскиваемый многоугольник в D3? - PullRequest
0 голосов
/ 21 марта 2020

Я пытался создать перетаскиваемую форму многоугольника в d3.

Однако, в отличие от линии пути, когда я обновляю информацию о точках многоугольника, мне требуется go с аргументом apply.

Кто-нибудь знает, как сделать «перетаскиваемый» многоугольник в d3?

перетаскиваемая ломаная линия была для меня легкой, но на этот раз я хочу попробовать себя в создании перетаскиваемого многоугольника.

спасибо Вы.

мой код, как показано ниже.

var reccoord =[{x:0, y:0},
               {x:200,y:0}, 
               {x:200, y:200}, 
               {x:0,y:200}]

var polycoord=[];

for(let i=0; i<reccoord.length;i++){
  polycoord.push([reccoord[i].x,reccoord[i].y])
}

var width=800;
var height=800;
svg=d3.select('body').append('svg').attr('width',600).attr('height',600).style('background-color','none')



   svg.selectAll('polygon')
   .data(reccoord)
   .enter().append('polygon')
   .attr('points',polycoord)
   .attr('stroke','black')
   .attr('stroke-width',2)
   .style('fill','pink')
   .call(drag)

  var drag = d3.drag().on('drag',moving)

  // function moving (){
  //         d3.select(this)
...