如何使 openInfoWindowHtml 在 Google Maps 2 中工作

jef*_*lez 5 google-maps extjs google-maps-api-2 extjs4

我正在设置一个嵌入了 GMap2 的 extjs 面板。这是设置:

 map = new GMap2(document.getElementById("gmappanel"));
 map.setCenter(new GLatLng(58.019257, -115.572402), 3);
 map.setUIToDefault();
Run Code Online (Sandbox Code Playgroud)

我正在使用这里的示例,因此当我单击标记时,我会看到一个信息窗口。问题是,事件触发,我可以在控制台中看到正确的 HTML,但没有其他任何事情发生。信息窗口根本打不开。没有错误,什么都没有。

这是代码:

 function createMarker(point, val) {
    var marker = new GMarker(point);
    var name = val.data.name;
    var html = "<table class='marker'>";
    html += "<tr><td>Name: </td><td>" + name + "</td></tr>";
    html += "</table>";

    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
        debug("Marker fired");
    });

    return marker;
}
Run Code Online (Sandbox Code Playgroud)

我是这样称呼它的:

 var marker = createMarker(point,store.getAt(i));
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 2

听起来您的 HTML 无效。您可以转储一些传递给 openInfoWindowHtml 的示例 html 数据吗?您的 createMarker 函数可以很好地使用:

var html = "<table class='marker'><tr><td>Name: </td><td> sometext </td></tr></table>";
Run Code Online (Sandbox Code Playgroud)

你使用什么版本的API?2.x?