Клуб API Карт

Найдено на тему «EdgeMove»:
Корректный способ вернуть Edge на место
Константин Кузнецов
20 октября 2015, 17:41

Пытаюсь запретить некоторые перетаскивания вершин полигона.

И если с вершинами (Vertex) все просто:

                        polygon.editor.events.add('beforevertexdragstart', function(e) {

                           var vertexModel = e.get('vertexModel');

                           vertexModel.saveCoords = vertexModel.geometry.getCoordinates();

                        });

                        polygon.editor.events.add('vertexdragend', function(e) {

                           var vertexModel = e.get('vertexModel');
                           var ok = testVertex(vertexModel);
                           if(!ok) {
                              vertexModel.geometry.setCoordinates(vertexModel.saveCoords);
                           }
                        });
То с промежуточной вершиной (Edge) не пойму. Если использовать edgedragend, то координаты в случае необходимости отката ей не присвоить. Завязываться на beforeedgedrag? Но это слишком частая проверка, да и preventDefault почему-то не откатывает перетаскивание.
Поскольку в результате перетаскивания Edge появляется новый Vertex, попробовал завязаться на beforevertexadd, все бы хорошо. Помешать появлению vertex удается, но тогда в воздухе подвисает ни к чему не привязанный Edge, в том месте где закончили Drag. Придумал только вызывать stopEditing() и тут же startEditing(), но тогда полигон мелькает, а это не красиво.
5 комментариев
EdgeMove,API 2.1,Polygon,events
Перемещение карты вслед за меткой при перемещении её за границы карты
ivanovs-4
11 апреля 2013, 17:20

Существует ли настройка карты или метки для того, чтобы, при перетаскивании метки за границу, карта перемещалась следом за меткой?

1 комментарий
метка,API 2.0,EdgeMove