谷歌地图API - GMarker.openInfoWindowHtml()停止工作

时间:2008-10-22 18:23:34

标签: javascript google-maps mapping openinfowindowhtml

我有一张谷歌地图突然停止工作没有明显的原因(我几个月没有碰过这些代码,但是如果没有公司告诉我,我们CMS的封装代码可能已经改变了。)

http://www.democratandchronicle.com/section/builder

(抱歉地图外面的令人讨厌的HTML,其中大部分来自我们的公司父母......)

我已将其缩小到drawMarker函数的这一部分:

GEvent.addListener(marker, 'click', function() {
  marker.openInfoWindowHtml(html, { maxWidth: 500 });
});

值得注意的是:

  • alert(html);显示infowindow的正确HTML。
  • html变量中的HTML确实有效。
  • 点击事件正在触发(由alert('test');确认)
  • 我在同一网站works fine托管的另一张地图,尽管代码相似。
  • 我可以看到Firebug或IE中没有JavaScript错误。

我一直在反对这一点。我错过了什么?

5 个答案:

答案 0 :(得分:1)

我有时会遇到谷歌地图API的随机问题,并且不止一次通过返回一个API版本来修复它。即如果你的谷歌地图API javascript包含字符串是这样的http://maps.google.com/maps?file=api&v=2.xd&key=XXXXX 2.x 更改为几个版本(返回工作时),例如 2.132 或其他

答案 1 :(得分:1)

尝试:

GEvent.addListener(marker, 'click', function() {
  this.openInfoWindowHtml(html, { maxWidth: 500 });
});

记住对象“marker”的范围在你的函数之外

答案 2 :(得分:1)

我最近遇到过这个问题,事件处理程序肯定会运行等等。结果发现有两个Google Maps< script>的实例。页面上的标签。删除一个修复它。

答案 3 :(得分:0)

尝试强制JavaScript从HTML中创建一个新变量:

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});

答案 4 :(得分:0)

这解决了自己。我怀疑API的更新破坏了一两个版本。