繁体   English   中英

Google Maps API-GMarker.openInfoWindowHtml()停止工作

[英]Google Maps API - GMarker.openInfoWindowHtml() stopped working

我有一个Google Map,突然因为没有明显的原因而停止工作(我已经有好几个月没有触摸代码了,但是在没有Corporate告诉我的情况下,我们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错误。

我已经为此打了一段时间。 我想念什么?

我有时会在Google Maps API上遇到随机问题,并且不止一次通过返回一个API版本来解决该问题。 即,如果您的google maps API javascript包含字符串是这样的http://maps.google.com/maps?file=api&v=2.xd&key=XXXXX请将2.x改回几个版本(在工作时返回),例如2.132之类的

尝试:

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

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

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

尝试强制JavaScript从HTML中生成新变量:

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

这样就解决了。 我怀疑对API的更新在一个或两个版本中有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM