gpt4 book ai didi

JavaFX:将 MapView 添加到 VBox

转载 作者:行者123 更新时间:2023-12-02 12:03:51 32 4
gpt4 key购买 nike

我想将 JXMaps 中的 MapView 添加到 JavaFX 中的 VBox,我尝试将 MapView 添加到边框面板,然后添加到 VBox,但我找不到任何解决方案,希望您能提供帮助我,这是我的代码:

 public class ControlerMap
{
@FXML private BorderPane borderPanel;
@FXML private Button butom;
@FXML VBox cosa;

@FXML public void initialize()
{
MapView sample = new MapView();
sample.setMaxHeight(394.0);
sample.setPrefWidth(704.0);
sample.setVisible(true);
borderPanel = new BorderPane(sample);
borderPanel.setVisible(true);
borderPanel.setLayoutX(76.0);
borderPanel.setLayoutY(134.0);
borderPanel.setPrefHeight(200.0);
borderPanel.setPrefWidth(467.0);
cosa.getChildren().add(borderPanel);
}
}

这是我的 .FXML 文件中的代码:

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
minWidth="-Infinity" prefHeight="496.0" prefWidth="757.0"
xmlns="http://javafx.com/javafx/8.0.102" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="prueba.web.googleMap.ControlerMap">
<children>
<Button fx:id="butom" layoutX="25.0" layoutY="14.0"
mnemonicParsing="false" text="Button" />
<VBox fx:id="cosa" layoutX="32.0" layoutY="68.0" prefHeight="394.0"
prefWidth="704.0">
<children>
<BorderPane fx:id="borderPanel" prefHeight="400.0"
prefWidth="704.0" />
</children>
</VBox>
</children>
</AnchorPane>

最佳答案

正如我所见,您创建了空的 MapView。

MapView sample = new MapView();

只有在初始化其属性(至少缩放和居中)后, map 才会真正绘制。您必须按以下方式设置它:

sample.setOnMapReadyHandler(new MapReadyHandler() {
@Override
public void onMapReady(MapStatus status) {
if (status == MapStatus.MAP_STATUS_OK) {
final Map map = mapView.getMap();
map.setCenter(new LatLng(35.91466, 10.312499));
map.setZoom(2.0);
}
}
});

关于JavaFX:将 MapView 添加到 VBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47049281/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com