Кратко - пытаюсь реализовать изменение координат ломаной при перетаскивании point'а , находящегося в тех же координатах, что и одна из координат ломаной.
Но в моем примере ломаная один раз дергается и все
Пример:
var mypl = new ymaps.Placemark(
e, {
iconContent: '. ' + e.join().substr(-6, 3) //Удалить после отладки
}, {
draggable: true,
iconLayout: 'default#imageWithContent',
iconImageHref: img,
iconImageSize: [16, 16],
iconImageOffset: [-8, -8]
});
collect.add(mypl);
var drag_coords = [];
mypl.events
.add('dragstart', function(e) {
// Начальные координаты точки
drag_coords = e.get('target').geometry.getCoordinates().join();
})
.add('drag', function(e) {
// Координаты точки в момент перемещения
p_coords = e.get('target').geometry.getCoordinates().join();
ln_col.each(function(el) {
ln_coord = el.geometry.getCoordinates().join();
// Если в ломаной есть координаты = начальным координатам перемещаемой точки
if (ln_coord.indexOf(drag_coords) > -1) {
ln_coord = ln_coord.replace(new RegExp(drag_coords,'g'), p_coords);
//console.log(el.geometry.getCoordinates());
//console.log([ln_coord.split(',').splice(0,2), ln_coord.split(',').splice(2,3)]);
el.geometry.setCoordinates([ln_coord.split(',').splice(0,2), ln_coord.split(',').splice(2,3)]);
}
});
...