2011-03-28 11 views
4

私のサイトでは、TabPanel(タブごとに1つ)を使って選択できるいくつかのGoogleマップ(v3)がありますが、タブを切り替えると問題があります。タブを選択すると、マップを「起動」しません。これを修正するにはResizeEvent.fire(ソース、Window.getClientWidth()、Window.getClientHight())を使用するだけです。これは、マップ上のリサイズ・リスナーをアクティブにし、「目を覚ます」。私の問題は、ブラウザウィンドウの登録されたサイズ変更ハンドラ(com.google.gwt.user.client.Window.handlersで保護されているパッケージ)へのポインタを取得できないため、ソースとして何を使用するのかわかりません。誰かが私の解決法または別の解決策に対する答えを持っていれば、それは非常に高く評価されるでしょう。GWTの火災ResizeEvent(Google Web Toolkit)

おかげで、トム

答えて

0

おかげでお返事が、私は、これら3行を考え出し:
HasLatLng center = mapWidget.getMap().getCenter();
Event.trigger(mapWidget.getMap(), "resize");
mapWidget.getMap().setCenter(center);
トリックを行います。これは、基本的に地図が最初に読み込まれるときに起こることです。 MapWidgetのonLoad()メソッドでは、super.onLoad()を呼び出して、これらの3つの行を実行し、マップを「起動」し、中心点を保存します。

+0

Event.Triggerが見つかりません。 Plsは見ている:http://stackoverflow.com/questions/11543276/trigger-resize-event-to-google-maps-from-gwt-2-5-using-gwt-maps-3-8-0 – Spiff

0

は私がサイズを変更使用すると、これを行うための最善の方法(私は前にマップを埋め込まれていない)ですが、TabLayoutPanelの代わりに、タブパネル、およびコールの使用を検討することができればわかりませんパネル。 resizeイベントを発生させる代わりにonResize() * LayoutPanel(またはProvidesResizeを実装するもの)をドキュメントのルートまで使用する必要があり、ページを標準モードでレンダリングする必要があることに注意してください。

0

GWT-Maps-V3-Apiを使用している場合は、という機能があります。この機能は、MapWidgetクラスにあります。

関連する問題