我正在使用GWT,我正在嘗試將谷歌地圖添加到我的網站。 因爲我想使用谷歌地圖V3我使用JSNI。 爲了在我的網站上顯示地圖,我需要創建一個id =「map」的div元素,並在地圖的初始化函數中獲取它。我這樣做了,它運行良好,但它在網頁上的位置很有趣,我希望它被附加到我在代碼中創建的面板上。 所以我的問題是我該怎麼做呢? 我可以用面板內的GWT以某種方式創建div嗎?在面板內添加div元素?
我試圖做的創建一個新的HTMLPanel這樣的:
runsPanel.add(new HTMLPanel("<div id=\"map\"></div>"));
凡runsPanel是我想要的面板附加到。 然而,失敗的時候我用下面的初始化函數以檢索股利:
private native JavaScriptObject initializeMap() /*-{
var latLng = new $wnd.google.maps.LatLng(31.974, 34.813); //around Rishon-LeTsiyon
var mapOptions = {
zoom : 14,
center : latLng,
mapTypeId : $wnd.google.maps.MapTypeId.ROADMAP
};
var mapDiv = $doc.getElementById('map');
if (mapDiv == null) {
alert("MapDiv is null!");
}
var map = new $wnd.google.maps.Map(mapDiv, mapOptions);
return map;
}-*/;
(它會彈出警告 - 「MapDiv爲空!」)
任何想法? 謝謝
爲什麼不使用GWT-Google-API預發佈版本:http://code.google.com/p/gwt-google-apis/issues/detail?id=381#c53? –
你的'runsPanel'是什麼類型的?當然你可以在面板內創建一個'div'。在你的代碼中,所有的都是正確的。它應該正常工作。 – kapand
其HorizontalPanel。然而,它不起作用.... –