我想在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);
我希望你能帮助我!
这里是Map Map
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
答案 0 :(得分:1)
似乎存在布局错误。如果为容器设置 null 布局,则必须手动为每个子组件设置边界。您的代码示例没有任何为Map实例设置边界的调用。换句话说,在:
之后panelMap.setLayout(null);
你必须为Map实例设置界限:
sample.setBounds(0, 0, 100, 100);