我想在 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 实例设置边界的调用。换句话说,在:
panelMap.setLayout(null);
您必须为地图实例设置边界:
sample.setBounds(0, 0, 100, 100);