Я использую в своем проекте KonvaJs. Я создаю многоугольник, используя Konva.Line
, задав closed:true
. Мне нужно выяснить, находится ли точка внутри многоугольника или нет. Я использую алгоритм Ray-Casting, чтобы найти точку в многоугольнике, и он работает нормально. Но проблема возникает при перетаскивании многоугольника. Когда он перетаскивается, вершины (точки) остаются прежними, и из-за этого я не могу получить новые координаты. Как мне изменить точки многоугольника, чтобы я мог их использовать? Вот plunkr.
KonvaJs: изменение точек линии при перетаскивании
Ответы (1)
При перетаскивании Konva изменит {x,y}
свойства узла (круг, прямоугольник, линия и т. Д.). Все, что вам нужно, это добавить x
и y
к points
:
vs.push({
x: points[i] + poly.x(),
y: points[i + 1] + poly.y()
});
http://plnkr.co/edit/P6xTokR4bR8o1D180k40?p=preview
person
lavrton
schedule
26.02.2016
Ты прибил его, брат. Благодаря тонну. :)
- person Hitesh Kumar; 26.02.2016
Привет, Лавртон! Когда фигура добавляется в группу, и я перетаскиваю группу, добавление координатного подхода не работает должным образом. Допустим, у меня есть кружок в группе. Когда группа перетаскивается, мне нужно получить обновленное положение круга. Добавление x, y к положению круга неправильно обновляет координаты. Я имею в виду, что он переводит круг в другое положение :( В этом случае что мне делать? Я создал plunkr. plnkr.co/edit/V7RWHYZUH8wndDhDioXH?p=preview
- person Hitesh Kumar; 28.02.2016
@HiteshKumar, зачем просто добавлять их в одну перетаскиваемую группу?
- person lavrton; 29.02.2016
Мне нужно создать многоугольник, который должен иметь поведение, аналогичное poylgon карты Google, примерно так: plnkr.co / edit / 6uusoIsdP3oqzRwiQiEl? p = preview Мне не нужно реализовывать среднюю часть многоугольника.
- person Hitesh Kumar; 29.02.2016