Gmaps.js停止了工作

时间:2015-05-04 07:17:57

标签: javascript jquery google-maps gmaps.js

从一天到另一天,Gmaps.js图书馆停止工作......我创建了一个包含3个标记的地图,他们有InfoWindows,我在InfoWindow中添加了一个小路由选项,你可以在那里输入您的地址,Gmaps将您转到该点。

现在没有改变过去两周的任何事情,我再也无法让它工作了:地图加载没有任何问题但是当我点击一个标记时,地图会自行消失。

下面是网址:http://gruber.tv/z/#standorte

当我在Firefox中加载地图时,我可以看到许多“过多的递归”错误,它们都来自Google的main.js

我希望有人可以帮助我!

最诚挚的问候 iDave

1 个答案:

答案 0 :(得分:0)

查看处理每个标记的click事件的代码:

map.setCenter( e.position.k, e.position.D );

gmaps中的setCenter()方法采用纬度和经度参数。 kD看起来像这些明智的名字吗? : - )

我怀疑您在开发代码时通过查看开发人员工具找到了这些属性,是吗?在那行代码上设置一个断点,当你到达那里时再看看。

哎呀,那里没有kD属性了。现在它具有AF属性。好吧,这不行。

但你看到下面的__proto__财产吗?展开它,您将看到position对象的可用方法。请注意那里的lat()lng()方法。这些更有意义,所以试试吧:

map.setCenter( e.position.lat(), e.position.lng() );

此处发生了什么:e.position是来自Google Maps API的LatLng对象。 API对象具有许多未记录的内部属性,以及记录的属性和方法。 lat()lng()是来自LatLng对象的documented methods to get the latitude and longitude。您发现的其他属性在API内部使用,但它们不适用于您自己的代码。 Google通过“缩小器”运行所有JavaScript API代码,这些代码可以随意更改内部名称以缩短代码,但保持记录的公共名称不变。因此,每隔几周,当他们更新API时,任何未记录的内部名称都可能会发生变化。