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

Google Maps API - GMarker.openInfoWindowHtml() stopped working

本文关键字:停止工作 openInfoWindowHtml API-GMarker 谷歌地图      更新时间:2023-09-26

我有一个谷歌地图,它突然莫名其妙地停止了工作(我已经好几个月没有接触过代码了,但我们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=XXXXX2.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的更新破坏了一两个版本。