代号一张地图
Codename One Map
我想显示一张带有某些坐标的地图,我可以在一个 GUI 元素上完成,但是当我为其他 GUI 元素复制代码时,地图不会出现
这是一个 GUI 元素(页面或屏幕)的代码
@Override
protected void beforeMapaGPS(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new FlowLayout());
f.addComponent(mapComponent);
f.show();
}
这是从第一个
复制的另一个 GUI 元素(其他页面或屏幕)
@Override
protected void onCreateGUI1() {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new FlowLayout());
f.addComponent(mapComponent);
f.show();
}
当我 运行 模拟器地图出现在第一页或屏幕上,而不是其他
保存设计器时收到消息
首先,不要将 FlowLayout 用于任何对等组件或复杂组件,如地图、浏览器、列表、多列表...
其次,您在第二种形式的 onCreate
方法中实现地图代码。在 beforeShow()
或 postShow()
方法中执行。
最后,您通过在 beforeShow()
方法中调用 f.show()
来请求已经显示的表单再次显示。
将您的代码更改为:
@Override
protected void beforeMapaGPS(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new BorderLayout());
f.addComponent(BorderLayout.CENTER, mapComponent);
}
第二个:
@Override
protected void beforeGUI1(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new BorderLayout());
f.addComponent(BorderLayout.CENTER, mapComponent);
}
我想显示一张带有某些坐标的地图,我可以在一个 GUI 元素上完成,但是当我为其他 GUI 元素复制代码时,地图不会出现
这是一个 GUI 元素(页面或屏幕)的代码
@Override
protected void beforeMapaGPS(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new FlowLayout());
f.addComponent(mapComponent);
f.show();
}
这是从第一个
复制的另一个 GUI 元素(其他页面或屏幕)@Override
protected void onCreateGUI1() {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new FlowLayout());
f.addComponent(mapComponent);
f.show();
}
当我 运行 模拟器地图出现在第一页或屏幕上,而不是其他
保存设计器时收到消息
首先,不要将 FlowLayout 用于任何对等组件或复杂组件,如地图、浏览器、列表、多列表...
其次,您在第二种形式的 onCreate
方法中实现地图代码。在 beforeShow()
或 postShow()
方法中执行。
最后,您通过在 beforeShow()
方法中调用 f.show()
来请求已经显示的表单再次显示。
将您的代码更改为:
@Override
protected void beforeMapaGPS(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new BorderLayout());
f.addComponent(BorderLayout.CENTER, mapComponent);
}
第二个:
@Override
protected void beforeGUI1(Form f) {
MapComponent mapComponent= new MapComponent();
double latitude=-41.169782;
double longitude =-71.444885;
Coord lastLocation = new Coord(latitude, longitude);
mapComponent.zoomTo(lastLocation, 15);
f.setLayout(new BorderLayout());
f.addComponent(BorderLayout.CENTER, mapComponent);
}