我正在设置一个嵌入了GMap2的extjs面板。下面是设置:
map = new GMap2(document.getElementById("gmappanel"));
map.setCenter(new GLatLng(58.019257, -115.572402), 3);
map.setUIToDefault();我使用here的例子,这样当我点击一个标记时,我就会看到一个信息窗口。问题是,事件会触发,我可以在控制台中看到正确的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;
}我是这样称呼它的:
var marker = createMarker(point,store.getAt(i));有什么想法吗?
发布于 2011-10-06 22:37:03
听起来您的HTML无效。您可以转储一些示例html数据,您正在传递给openInfoWindowHtml?您的createMarker函数可以很好地与以下各项配合使用:
var html = "<table class='marker'><tr><td>Name: </td><td> sometext </td></tr></table>";你使用的是什么版本的api ? 2.x?
发布于 2011-10-07 01:40:32
可能你想要bindInfoWindowHtml,而不是openInfoWindowHtml。
一些类似的东西..
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>";
marker.bindInfoWindowHtml(html);
return marker;
}发布于 2011-10-09 14:25:40
您还有两个标记变量定义在不同的作用域中,请检查以确保您的侦听器位于正确的“标记”上。
https://stackoverflow.com/questions/7642221
复制相似问题