Клуб API Карт

Запрет перетаскивания некоторых вершин ломаной

Пост в архиве.

Подскажите, как можно реализовать запрет перетаскивания определенных вершин ломаной.

Думаю, что нужно задать в опциях редактора ломаной vertexLayout, но не нашел описания/примера, написано лишь, что нужно "Класс макета для меток на вершинах ломаной линии"


2 комментария
Сергей Козлов
28 января 2016, 03:43

Мне надо было запретить тоскать только начальную и конечную вершины, сделал так:

var tmp=ymaps.layout.storage.get('default#editorVertex');
var myEditorVertex = function(data){
  tmp.apply(this, arguments);
  data.geoObject.events.add('beforedrag',function(e){
    if(data.properties.get('model').getPrevVertex()==null ||
        data.properties.get('model').getNextVertex()==null){
      e.preventDefault();
    };
  })
}
myEditorVertex.prototype=new tmp();

 

и его уже передал в

polyline.editor.options.set({vertexLayout: myEditorVertex})

 

Что-то мне не очень нравится подобное решение, я бы вообще не показывал для конечных точек возможность переноса, вопрос в том, как это сделать

Тоже актуальный вопрос, по поводу запрета редактивания некоторых точек. Вопрос к разработчикам, может есть способ убрать Vertex с некоторых вершин в режиме редактирования? В API версии 1.1 была lockedPoints. Жаль что убрали. Как реализовать такое в версии 2.0 ...?