我已经使用GmapsFX 1.1.0使用Google地图创建了一个简单的JavaFX项目。



public class CorrectorClientMain extends Application implements MapComponentInitializedListener {
	protected GoogleMapView mapComponent;
    protected GoogleMap map;

    private Button btnZoomIn;
    private Button btnZoomOut;
    private Label lblZoom;
    private Label lblCenter;
    private Label lblClick;
    private ComboBox<MapTypeIdEnum> mapTypeCombo;

    @Override
    public void start(final Stage stage) throws Exception {
        mapComponent = new GoogleMapView();
        mapComponent.addMapInializedListener(this);
        BorderPane bp = new BorderPane();
        ToolBar tb = new ToolBar();

        btnZoomIn = new Button("Zoom In");
        btnZoomIn.setOnAction(e -> {
            map.zoomProperty().set(map.getZoom() + 1);
        });
        btnZoomIn.setDisable(true);

        btnZoomOut = new Button("Zoom Out");
        btnZoomOut.setOnAction(e -> {
            map.zoomProperty().set(map.getZoom() - 1);
        });
        btnZoomOut.setDisable(true);

        lblZoom = new Label();
        lblCenter = new Label();
        lblClick = new Label();

        mapTypeCombo = new ComboBox<>();
        mapTypeCombo.setOnAction( e -> {
           map.setMapType(mapTypeCombo.getSelectionModel().getSelectedItem() );
        });
        mapTypeCombo.setDisable(true);

        Button btnType = new Button("Map type");
        btnType.setOnAction(e -> {
            map.setMapType(MapTypeIdEnum.HYBRID);
        });
        tb.getItems().addAll(btnZoomIn, btnZoomOut, mapTypeCombo,
                new Label("Zoom: "), lblZoom,
                new Label("Center: "), lblCenter,
                new Label("Click: "), lblClick);

        bp.setTop(tb);
        bp.setCenter(mapComponent);
        bp.setLeft(btnType);
        Scene scene = new Scene(bp);

        stage.setScene(scene);
        stage.show();
    }

    public void mapInitialized() {
        //Once the map has been loaded by the Webview, initialize the map details.
        LatLong center = new LatLong(48.8539819,37.6144408);
        mapComponent.addMapInializedListener(() -> {
            // This call will fail unless the map is completely ready.
            //checkCenter(center);
        });

        MapOptions options = new MapOptions();
        options.center(center)
                .mapMarker(true)
                .zoom(12)
                .overviewMapControl(false)
                .panControl(false)
                .rotateControl(false)
                .scaleControl(true)
                .streetViewControl(false)
                .zoomControl(true)
                .mapType(MapTypeIdEnum.HYBRID);

        map = mapComponent.createMap(options);

    }

    private void checkCenter(LatLong center) {
         //
    }


	public static void main(String[] args) {
		launch(args);
	}
}





运行应用程序时,我会在窗口中看到调试面板:



我可以删除此调试面板吗?我忘记设置任何参数了吗?

最佳答案

如果您查看项目站点,在版本link中,有两个较新的版本。

实际上,版本1.1.1的更改列表已经解决了您的问题:


  修复了默认情况下FireBug插件始终与地图一起显示的问题。


因此,我建议您将版本更新为最后一个可用的1.1.2

关于java - GmapsFX。从 map 上删除调试面板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28381292/

10-10 10:46