我正在尝试将MapWidget添加到VerticalPanel但是添加了地图 左角:
我添加了标记,标记应该以图像为中心 我加载地图时看不到标记。我应该导航到这个 显示地图的位置。
此代码
private FormPanel form = new FormPanel();
private VerticalPanel main = new VerticalPanel();
public Map(){
ScrollPanel container = new ScrollPanel();
initWidget(container);
container.setStyleName("FuoEgForm");
form.setWidget(main);
main.setSpacing(6);
container.add(main);
}
public MapWidget addMapWidget(){
MapWidget map = new MapWidget();
//map.setSize("100%", "100%");
map.setStyleName("gwt-map");
map.removeMapType(MapType.getNormalMap());
map.removeMapType(MapType.getSatelliteMap());
map.addMapType(MapType.getPhysicalMap());
map.addMapType(MapType.getHybridMap());
map.setCurrentMapType(MapType.getHybridMap());
//map.setSize("100%", "100%");
map.setWidth("500px");
map.setHeight("500px");
main.add(map);
}
我该如何解决这个问题?地图应填灰色 边界?
答案 0 :(得分:0)
从gwt-maps-1.1开始,MapWidget实现了RequiresResize接口。当添加到支持此接口的面板(例如DockLayoutPanel)时,只要调整包含窗口小部件的面板,窗口小部件就会自动调用map.checkResizeAndCenter()。此新功能可以将地图大小设置为两个方向的100%,并填满屏幕上的可用空间。要正确使用LayoutPanel子类,请确保将html页面设置为使用标准模式,方法是添加为文档中的第一行。
在gwt-maps 1.0中,可能需要在最初添加地图后强制地图调整其布局大小。您可以使用MapWidget.checkResizeAndCenter()方法来清理它。您可能需要使用DeferredCommand或其他机制延迟调用此函数,以等待DOM布局传递后调用调整大小的地图。
或者您可以发现意外的另一个意外原因发生在我身上
我让地图看不见@constructor 然后在单击按钮时将其设置为可见
解决方案 使地图始终可见:)
答案 1 :(得分:0)
我在 add(map):
下面插入这些行LatLng c = mapWidget.getCenter();
resizeMap(mapWidget.getMVCObject());
mapWidget.setCenter(c);