@PythonBeginner20

Как в MxGraph задать объекту X,Y координаты по клику мыши по карте?

В движке mxgraph я нашел event мыши, но он не отражает реальную координату карты. Вот пример кода, в котором evt мне не подходит. Нужно иное решение. Требуется получить координату карты. Проверить это можно получением отрицательных координат (наверное).

В общем виде задача выглядит следующим образом: пользователь выбирает категорию объектов, ему отображается модальное окно с доступными SVG иконками для размещения. После клика SVG иконка размещается в место где кликнет пользователь. Я знаю, что есть возможность стандартного Drag&Drop в MxGraph, но нам он не подходит из-за специфики проекта. Нам нужно по клику мыши на карту размещать новый элемент в назначенные X, Y координаты мыши на карте.

В коде ниже представлены координаты, которые мы нашли в MxGraph, но они не позволяют нам размещать объект по клику.

this.graph.addListener(MxEvent.CLICK, function(sender, evt)){
        console.log('evtOffsetX: ', evt.properties.event.offsetX)
        console.log('evtOffsetY: ', evt.properties.event.offsetY)
    }
    
    
    this.graph.getSelectionModel().addListener(MxEvent.CHANGE, function(vertex)){
        console.log('vertexCenterX: ', vertex.cells[0].geometry.getCenterX());
        console.log('vertexCenterY: ', vertex.cells[0].geometry.getCenterY());
        console.log('vertexHeight: ', vertex.cells[0].geometry.height);
        console.log('vertexWidth: ', vertex.cells[0].geometry.width);
        console.log('vertexX: ', vertex.cells[0].geometry.x);
        console.log('vertexY: ', vertex.cells[0].geometry.y);
    }
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы