2016-11-29 44 views
0

我想顯示用戶的選擇,從JSON抽取的幾個獨立的地圖座標上的窗格。現在,地圖被繪製在左上角。我需要將該地圖繪製到窗格的中心,而不是在角落,因此可以正確/普遍地縮放該地圖。如果我使用一個StackPanesetAlignment(Pos.CENTER);然後將所有獨立的區域(它們被單獨繪製)組成的地圖都被吸收在窗格中沒有地圖作爲一個整體。的JavaFX如何中心JSON地圖的窗格

下面是繪製面板上的地區代碼:

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); 

我如何調整它出現在市中心?謝謝!

回答

0

我認爲,解決辦法是把個別地區成組。然後將該組放入居中的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); 
+0

這個解決它,謝謝! – dot