我有一个谷歌地图,它突然莫名其妙地停止了工作(我已经好几个月没有接触过代码了,但我们CMS的包装代码可能在没有公司告诉我的情况下发生了变化)。
http://www.democratandchronicle.com/section/builder
(很抱歉地图外的讨厌的HTML,大部分来自我们的母公司…)
我已经把它缩小到drawMarker
函数的这一部分:
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html, { maxWidth: 500 });
});
注意:
alert(html);
为信息窗口显示正确的HTML- HTML变量中的HTML确实有效
- 点击事件正在启动(由其中的
alert('test');
确认) - 我在同一网站上托管的另一张地图运行良好,尽管代码相似
- 我在Firebug或IE中没有看到JavaScript错误
一段时间以来,我一直在为此绞尽脑汁。我错过了什么?
我有时会遇到谷歌地图API的随机问题,不止一次通过返回API版本修复了这个问题。即,如果你的谷歌地图API javascript包含字符串是这样的http://maps.google.com/maps?file=api&v=2.xd&key=XXXXX
将2.x更改为几个版本以前的版本(工作时的版本),如2.132或
try:
GEvent.addListener(marker, 'click', function() {
this.openInfoWindowHtml(html, { maxWidth: 500 });
});
请记住,对象"marker"的范围在您的函数
我最近遇到了这个问题,事件处理程序肯定运行了,等等;脚本>标签。删除一个修复了它。
尝试强制JavaScript从HTML:中生成一个新变量
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
这自行解决。我怀疑API的更新破坏了一两个版本。