JavaFX 如何在窗格中居中 JSON 地图

JavaFX How to center JSON map in a Pane

我正在尝试显示用户选择的几张单独的地图,这些地图是根据窗格上的 JSON 坐标绘制的。现在,地图正在左上角绘制。我需要将该地图绘制到窗格的中心,而不是角落,以便可以缩放 properly/universally。如果我使用 StackPanesetAlignment(Pos.CENTER);,那么构成地图的所有单独区域(它们是单独绘制的)都在窗格中绘制,而不是整个地图。

下面是在窗格上绘制区域的代码:

public void addPolygon(List<Point2D>coordinates, Color color){
    Polygon polygon = new Polygon();
    for(Point2D point : coordinates)
        polygon.getPoints().addAll(point.getX(), point.getY());

        //outline each polygon in black
        polygon.setStroke(Color.BLACK);
        polygon.setStrokeWidth(0.08);

        //sets the color of the polygon derived from a random color generator
        polygon.setFill(color);

    //add created polygons to pane
    mapPane.getChildren().add(polygon);

如何调整它以显示在中心?谢谢!

我认为解决方案是将各个区域放入一个组中。然后将Group放到居中的StackPane中。

private Group mapGroup = new Group();

public void addPolygon(List<Point2D>coordinates, Color color){
    Polygon polygon = new Polygon();
    for(Point2D point : coordinates)
        polygon.getPoints().addAll(point.getX(), point.getY());

        //outline each polygon in black
        polygon.setStroke(Color.BLACK);
        polygon.setStrokeWidth(0.08);

        //sets the color of the polygon derived from a random color generator
        polygon.setFill(color);

    //add created polygons to pane
    mapGroup.getChildren().add(polygon);