首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让openInfoWindowHtml在Google Maps2中工作

如何让openInfoWindowHtml在Google Maps2中工作
EN

Stack Overflow用户
提问于 2011-10-04 08:44:41
回答 3查看 1.2K关注 0票数 5

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

代码语言:javascript
复制
 map = new GMap2(document.getElementById("gmappanel"));
 map.setCenter(new GLatLng(58.019257, -115.572402), 3);
 map.setUIToDefault();

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

下面是实现该功能的代码:

代码语言:javascript
复制
 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;
}

我是这样称呼它的:

代码语言:javascript
复制
 var marker = createMarker(point,store.getAt(i));

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2011-10-06 22:37:03

听起来您的HTML无效。您可以转储一些示例html数据,您正在传递给openInfoWindowHtml?您的createMarker函数可以很好地与以下各项配合使用:

代码语言:javascript
复制
var html = "<table class='marker'><tr><td>Name: </td><td> sometext </td></tr></table>";

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

票数 2
EN

Stack Overflow用户

发布于 2011-10-07 01:40:32

可能你想要bindInfoWindowHtml,而不是openInfoWindowHtml

一些类似的东西..

代码语言:javascript
复制
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;
}
票数 1
EN

Stack Overflow用户

发布于 2011-10-09 14:25:40

您还有两个标记变量定义在不同的作用域中,请检查以确保您的侦听器位于正确的“标记”上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7642221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档