Re: [問題] 請問在GWT上用Google Map API

看板java作者 (強尼戴爾)時間11年前 (2014/05/05 21:08), 11年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 唉... 你說我到底該不該回文呢 : (謎之聲:你這不是回了嗎? [總統調]) : 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 藏了什麼哏所以這樣那樣 : 那是要我(們)這些看文章回文章的人怎麼辦? : 然後就會有人說:「棍!你不爽回就不要回,酸人幹麼?」 真是不好意思 剛剛發文發太急 下方連結重新排版一下 http://paste.ideaslabs.com/show/Q0ThysUrSF 這是mapWindowForm.class : : 當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 的程式碼? : 兩邊程式碼根本不一樣阿? 下方這些是大概一些試過的方式 1. Panel panel = new FormPanel(); panel.add(map); add(panel); 2. final DockLayoutPanel dock = new DockLayoutPanel(Unit.PX); dock.addNorth(map, 500); RootLayoutPanel.get().add(dock); 3. add(map, new AbsoluteData(35,35)); 4. add(panel); : : 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 有什麼鬼怪之處 button這些事可以被add()在這類form的,因為系統已有很多這種form uploadForm.class 或者 editForm.class 之類的 都是extends windowForm.class(這隻abstract class是extends FormPanel) : 2. 給三個不同的 MapWidget instance 不好意思 不大清楚版大這句話的意思是? 其實應該是要問 我有一個 MapWidget 該怎麼在一個FormPanel上顯示? 所以應該是FormPanel讓MapWidget顯示的? 是需要先把Widget放進什麼container才能放到Panel上? 另外就是 在第24行 if (!Maps.isLoaded()) 這裡檢查了MapApi有沒有被load 但是我發現我第一次點該按鈕的時候會跳出 25行的Window.alert 可是之後再點就不會 refresh web page後第一次點又跳出Window.alert 所以我也懷疑是否MapApi其實一直並沒有被load in成功 在Maps.loadMapsApi()的第二個參數應該是API version 我給"2" 也應該沒有錯才是? GWT-map.1.1.1.jar是說for Map v2 雖然在Google console申請的API key看起來是enable Map v3? 不過應該是可以通用的? 但第一次點確實出現Map.isLoaded是false的情況 感謝 : 當然,更重要的事情是 : 請搞清楚你到底在寫什麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.238.68 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1399295306.A.2A1.html ※ 編輯: JohnnyDell (123.194.238.68), 05/05/2014 21:27:06
文章代碼(AID): #1JPurAAX (java)
文章代碼(AID): #1JPurAAX (java)