过去几周我们一直在研究基于Google Maps API v3的应用,当时我们发现某种标记的点击事件已停止工作。我们改变了大小并增加了这些标记的数量,假设我们的代码很糟糕,但回复没有解决问题。单击Google Maps API v3上的侦听器事件不起作用
我们的代码非常简单。创建标记(在本例中称为OBJ)后,我们会做到以下几点:
google.maps.event.addListener(obj, 'click',
function(coords){ localClick(coords, id); });
localClick
是我们的功能之一,alert('click!');
也取得了什么。
经过几天的摸爬滚打,我们注意到一些奇怪的现象:的一些标记正在工作。然后,我们发现的,共有点击几乎看不见的标记,但在错误的地方水平线:
这种情况对OSX所有的浏览器(我们没有在Windows或Linux试试)。
一个解决方案是指定您使用的v3.2的API版本。这并不理想,因为我们希望保持最新状态。直到最近,它正在开发最新版本(v3.4)。
这样调用谷歌地图API中,它不工作:
$.getScript("https://maps-api-ssl.google.com/maps/api/js?
sensor=false&callback=mapLoaded");
像这一切的伟大:
$.getScript("https://maps-api-ssl.google.com/maps/api/js?
sensor=false&v=3.2&callback=mapLoaded");
我们很不解。
不幸的是,我们不能发布代码或工作演示(我知道这降低了响应率,客户端要求)。
这很有趣。尽管我认为MarkerManager(由Google提供)正在使用它们,但MapPanes并未在我们的代码中的任何位置引用。错误的定位如何与MapPane理论相适应? – 2011-04-29 04:04:37
它不适合,与你提供的细节,我只是抛出一个想法,因为你没有使用自定义覆盖,我的理论崩溃:) – solidrevolution 2011-04-29 05:07:02
感谢您去了解它。看起来它最终成为新代码中的一个错误,可能与MarkerManager工具包交互。 – 2011-08-08 22:05:19