【问题标题】:Add mapView to JPanel in java在java中将mapView添加到JPanel
【发布时间】:2017-10-28 20:02:17
【问题描述】:

我想在 JPanel 中添加地图视图,我正在使用来自 teamdev 的 jxMaps。我尝试了这段代码,但我不工作。

    Map sample = new Map();

    JFrame frame = new JFrame("Map");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setLayout(null);
    frame.setSize(700, 500);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

    JPanel panelMap = new JPanel();
    panelMap.setLayout(null);
    panelMap.add(sample, BorderLayout.CENTER);
    panelMap.setBounds(100, 100, 200, 200);
    panelMap.setVisible(true);
    frame.add(panelMap);

希望你能帮帮我!

这里是类地图

    public class Map extends MapView {
    public Map() {

    setOnMapReadyHandler(new MapReadyHandler() {
        @SuppressWarnings("deprecation")
        @Override
        public void onMapReady(MapStatus status) {
            if (status == MapStatus.MAP_STATUS_OK) {
                final Map map = getMap();
                MapOptions options = new MapOptions(map);
                MapTypeControlOptions controlOptions = new MapTypeControlOptions(map);
                controlOptions.setPosition(ControlPosition.TOP_RIGHT);
                options.setMapTypeControlOptions(controlOptions);
                map.setOptions(options);
                map.setCenter(new LatLng(map, 35.91466, 10.312499));

                map.setZoom(2.0);

            }
        }
    });
}

这个例子来自 jxMap ,https://www.teamdev.com/jxmaps

【问题讨论】:

  • 导入了哪个Map
  • 有代码@UsagiMiyamoto

标签: java jxmapviewer jxmaps


【解决方案1】:

似乎有布局错误。如果为容器设置 null 布局,则必须手动为每个子组件设置边界。您的代码示例没有任何为 Map 实例设置边界的调用。换句话说,之后:

panelMap.setLayout(null);

您必须为 Map 实例设置边界:

sample.setBounds(0, 0, 100, 100);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2018-01-14
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多