在 java 中将 mapView 添加到 JPanel
Add mapView to JPanel in java
我想在 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);
希望你能帮帮我!
这里是class地图
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
好像是排版错误。如果为容器设置 null 布局,则必须手动为每个子组件设置边界。您的代码示例没有任何为 Map 实例设置边界的调用。也就是说,在:
之后
panelMap.setLayout(null);
您必须为 Map 实例设置边界:
sample.setBounds(0, 0, 100, 100);
我想在 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);
希望你能帮帮我!
这里是class地图
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
好像是排版错误。如果为容器设置 null 布局,则必须手动为每个子组件设置边界。您的代码示例没有任何为 Map 实例设置边界的调用。也就是说,在:
之后panelMap.setLayout(null);
您必须为 Map 实例设置边界:
sample.setBounds(0, 0, 100, 100);