我正在使用 GWT,并且正在尝试将 google-maps 添加到我的网站。因为我想使用 google-maps V3,所以我使用的是 JSNI。为了在我的网站中显示地图,我需要创建一个 id="map" 的 div 元素并在地图的初始化函数中获取它。我这样做了,结果很好,但它在网页上的位置很有趣,我希望它附加到我在代码中创建的面板上。所以我的问题是我该怎么做?我可以在面板内使用 GWT 以某种方式创建 div 吗?
我试过像这样创建一个新的 HTMLPanel:
runsPanel.add(new HTMLPanel("<div id=\"map\"></div>"));
runsPanel 是我要附加到的面板。然而,当我使用以下初始化函数时,它无法检索 div:
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 为空!”)
有任何想法吗?谢谢