唉... 你說我到底該不該回文呢
(謎之聲:你這不是回了嗎? [總統調])
anyway,不想看酸文的可以直接跳最後
※ 引述《JohnnyDell (強尼戴爾)》之銘言:
: 請問各位大大 我目前需要在一個web service的系統上加上一個小功能
: 就是點一個按鈕->出現一個視窗->顯示Google地圖->把定點置中
: 由於該系統是以GWT來做 所以找了Google Map for GWT (gwt-map-1.1.1.jar)
: 該系統目前已有一個abstract WindowForm.class是extend FormPanel
: 於是我寫了一個mapWindowForm.class extend WindowForm
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
你的程式碼沒有(整齊)縮排,這就算了
問題是內容寫的不明不白
1. 你貼出來的內容是 mapWindowForm 這個 class 的內容嗎?
2. WindowForm 有沒有藏什麼哏?
或著說,你為什麼不先用其他(單純)的 widget/panel 試試看?
萬一我們看了老半天,結果你這程式跟 mapWindowForm 沒關係
或是根本就是 WindowForm 藏了什麼哏所以這樣那樣
那是要我(們)這些看文章回文章的人怎麼辦?
然後就會有人說:「棍!你不爽回就不要回,酸人幹麼?」
: 當user click按鈕會呼叫這個mapWindowForm.class 到這邊沒有問題
: 問題出在我不知道要如何將map顯示在這個Form上..
: http://paste.ideaslabs.com/show/GnqtHbIsea
: 大致上貼上code 有些import跟宣告就沒貼了
: 在showForm()中 先Map.loadMapApi (***是小弟的API Key打上馬賽克)
: buildUi()中則是依照官網介紹作的 就是弄出一個map
: 最後試了幾種方法 可是無法將map add進這個form..
所以我(們)到底是要看你下面這段程式碼
還是看 ideaslabs 的程式碼?
兩邊程式碼根本不一樣阿?
: Panel panel;
: panel = new FormPanel();
: panel.add(map);
^^^^^^^^^^^^^^^^
: add(map, new AbsoluteData(35, 35));
^^^^^^^^
: add(panel);
^^^^^^^^^^^^
: dock.addNorth(map, 500);
: RootLayoutPanel.get().add(dock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
誰上頭有 `map`(或著說誰 add `map`?)
答案是... 居然有三個
變數 panel(FormPanel)
某某某(應該是 mapWindowForm?)
還有根本不知道是誰的變數 dock
我不確定有兩個以上的 widget 同時加一個 widget instance 會怎樣
沒記錯的話好像最後加的才會有效
(以你的例子,是那個不知道是誰的 dock)
至於 panel、dock、還有某某某會不會顯示在螢幕上(或說 DOM 裡頭)
是誰讓它顯示的(RootLayoutPanel? PopupPanel? 還是?)
不知道... 甚至可能沒人知道
(CSS、沒撐開之類的哏就完全跳過)
=====================================
總而言之,請先作這兩件事情
1. 你先用 Button/Label 代替 MapWidget
來排除是不是 MapWidget 有什麼鬼怪之處
2. 給三個不同的 MapWidget instance
當然,更重要的事情是
請搞清楚你到底在寫什麼