1

今天的问题是关于将地图视图嵌入到 JavaFX 应用程序中。我基本上遵循了StackOverFlow 上的说明 - 在 JavaFX 中嵌入谷歌地图使用 OpenStreetMap 嵌入 OpenLayers,因此*.html文件之类的所有内容都已到位。但是在那里,人们正在添加WebView到 main Scene。对我来说,我想WebViewSplitPane. 因此,我准备了以下application.fxml文件:

<SplitPane id="SplitPane" dividerPositions="0.5" orientation="HORIZONTAL" prefHeight="260.0" prefWidth="850.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
    <items>
        <TableView id="tableView1" fx:id="table" prefHeight="263.0" prefWidth="433.0">
            <columns>
                <TableColumn text="one" /><TableColumn text="two" /><TableColumn text="three" />
            </columns>
        </TableView>
        <AnchorPane prefHeight="200.0" prefWidth="200.0">
            <children>
                <Region fx:id="webViewRegion" prefHeight="200.0" prefWidth="200.0" />
            </children>
        </AnchorPane>
     </items>
</SplitPane>

FXML 文件由FXMLLoader应用程序启动时加载。在应用程序控制器中,我得到Region如下:

@FXML
private Region webViewRegion;

class MyMapView extends Region {

    HBox toolbar;
    WebView webview = new WebView();
    WebEngine webEngine = webview.getEngine();

    public MyMapView() {
        final URL urlGoogleMaps = getClass().getResource("openstreetmap.html");
        webEngine.load(urlGoogleMaps.toExternalForm());
        getChildren().add(webview);
    }
}

private void load_webView() {
    webViewRegion = new MyMapView();
}

对我来说,现在我不完全知道如何以正确的方式填充Region或者Webview是否有更好的方法?

4

0 回答 0