Почему если две метки на вершинах редактируемых многоугольников имеют одни и те же координаты, при перетаскивании одной из них, перетаскивается и вторая? Такое ощущение, что они воспринимаются как одна.
Карта пока нигде не выложена. Постараюсь объяснить с помощью скриншотов. Сначала создаются 2 редактируемых многоугольника.
Затем вершина одного из них передвигается ближе к соседнему многоугольнику.
Скрипт оценивает расстояние между перетаскиваемой вершиной и ближайшей вершиной соседнего многоугольника, понимает, что расстояние между ними достаточно мало и с помощью метода splicePoints устанавливает координаты перетаскиваемой вершины равными координатам ближайшей найденой точки: polygon[polyLen].splicePoints(index, 1, geoClosestPoint);
Если после этого снова передвинуть данную вершину, но уже в другую сторону, так, чтобы скрипт не стал автоматически менять её координаты, она переместится куда мы и хотели.
Проблема в том, что если затем изменить масштаб карты, то окажется, что та точка соседнего многоугольника переместилась вместе с первой.
Скорее всего вы из функции geoClosestPoint возвращаете ссылку на объект YMaps.GeoPoint из множества вершин того многоугольника, с которым связываете. Таким образом возникает связь на этом уровне. Нужно возвращать копию, т.е. у этого объекта вызвать метод сopy() и вернуть результат.