Как уменьшить масштаб в gojs? - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь уменьшить масштаб, но не работает, и здесь я использую go.ForceDirectedLayout

var myDiagram = $(go.Diagram, "database_structure",
    {
      "toolManager.mouseWheelBehavior": go.ToolManager.WheelZoom,
      initialContentAlignment: go.Spot.TopLeft,
      allowDelete: false,
      allowCopy: false,
      layout: $(go.ForceDirectedLayout),
      autoScale: go.Diagram.UniformToFill,
      "undoManager.isEnabled": true
    });

Изначально на экране отображался пустой экран, после прокрутки отобразится диаграмма. Но сначала я хочу уменьшить экран , поэтому, пожалуйста, дайте какое-то решение, чтобы решить эту проблему.

После того, как я установил, приведенную ниже, диаграмма отображается при прокрутке мыши, но мне нужно отобразить диаграмму без прокрутки вначале .

Здесь я использую fixedBounds: new go.Rect (-1000, -1000,1,1) , поэтому он изначально уменьшает размер диаграммы.

myDiagram =
    $(go.Diagram, "database_structure",
      {
      "toolManager.mouseWheelBehavior": go.ToolManager.WheelZoom,
        initialContentAlignment: go.Spot.Center,
        layout: $(go.ForceDirectedLayout),
        fixedBounds:new go.Rect(-1000,-1000,1,1),
        initialAutoScale: go.Diagram.Uniform,
        scale:0.0001,
        "undoManager.isEnabled": true
      });

1 Ответ

0 голосов
/ 30 августа 2018

Вы установили Diagram.autoScale , в результате чего он всегда будет увеличиваться до «UniformToFill». Это не позволит пользователю самостоятельно изменять масштаб.

Если вы хотите автоматически масштабировать диаграмму «UniformToFill» при первой загрузке модели после первоначального макета, задайте Diagram.initialAutoScale . Это позволит пользователю увеличивать или уменьшать масштаб изображения.

https://gojs.net/latest/intro/initialView.html#AutomaticViewportManagement https://gojs.net/latest/api/symbols/Diagram.html#initialAutoScale

...