1

我有一个谷歌地图突然停止工作,没有明显的原因(我几个月没有接触过代码,但是我们的 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 错误。

一段时间以来,我一直在反对这一点。我错过了什么?

4

5 回答 5

1

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

于 2008-10-23T06:27:02.597 回答
1

尝试:

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

请记住对象“标记”的范围超出了您的功能

于 2009-01-14T21:54:10.493 回答
1

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

于 2011-11-28T11:08:18.463 回答
0

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

GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html+'', { maxWidth: 500 });
});
于 2008-10-22T20:22:29.943 回答
0

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

于 2009-01-15T15:56:29.670 回答