gwtGoogleMapsv3.8に問題があります
このコードは期待どおりに正常に機能します。
public class TestMaps implements EntryPoint {
public void onModuleLoad() {
final SimplePanel sp = new SimplePanel();
sp.setSize("460px", "320px");
AjaxLoaderOptions options = AjaxLoaderOptions.newInstance();
options.setOtherParms("sensor=false&language=en");
Runnable callback = new Runnable() {
public void run() {
LatLng myLatLng = LatLng.create(51.5171, 0.1062);
MapOptions myOptions = MapOptions.create();
myOptions.setZoom(12.0);
myOptions.setCenter(myLatLng);
myOptions.setMapTypeId(MapTypeId.ROADMAP);
GoogleMap.create(sp.getElement(), myOptions);
}
};
AjaxLoader.loadApi("maps", "3", callback, options);
RootPanel.get("GoogleMapsContainer").add(sp);
}
}
また、マップをTabPanel内に配置すると、灰色の領域が表示されます。
public class TestMaps implements EntryPoint {
private final native static void resizeMap(GoogleMap map) /*-{
$wnd.google.maps.event.trigger(map, 'resize');
}-*/;
public void onModuleLoad() {
final DecoratedTabPanel dtp = new DecoratedTabPanel();
final SimplePanel sp = new SimplePanel();
sp.setSize("460px", "320px");
AjaxLoaderOptions options = AjaxLoaderOptions.newInstance();
options.setOtherParms("sensor=false&language=en");
Runnable callback = new Runnable() {
public void run() {
LatLng myLatLng = LatLng.create(51.5171, 0.1062);
MapOptions myOptions = MapOptions.create();
myOptions.setZoom(12.0);
myOptions.setCenter(myLatLng);
myOptions.setMapTypeId(MapTypeId.ROADMAP);
GoogleMap map = GoogleMap.create(sp.getElement(), myOptions);
dtp.add(sp, "Tab1", false);
resizeMap(map);
map.setZoom(map.getZoom());
}
};
AjaxLoader.loadApi("maps", "3", callback, options);
RootPanel.get("GoogleMapsContainer").add(dtp);
}
}
同様の問題に関する投稿はほとんど見られませんでしたが、どの提案もうまくいきませんでした。コメント、提案をいただければ幸いです。