我已经使用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/