从一天到另一天,Gmaps.js图书馆停止工作......我创建了一个包含3个标记的地图,他们有InfoWindows,我在InfoWindow中添加了一个小路由选项,你可以在那里输入您的地址,Gmaps将您转到该点。
现在没有改变过去两周的任何事情,我再也无法让它工作了:地图加载没有任何问题但是当我点击一个标记时,地图会自行消失。
下面是网址:http://gruber.tv/z/#standorte
当我在Firefox中加载地图时,我可以看到许多“过多的递归”错误,它们都来自Google的main.js
我希望有人可以帮助我!
最诚挚的问候 iDave
答案 0 :(得分:0)
查看处理每个标记的click
事件的代码:
map.setCenter( e.position.k, e.position.D );
gmaps中的setCenter()
方法采用纬度和经度参数。 k
和D
看起来像这些明智的名字吗? : - )
我怀疑您在开发代码时通过查看开发人员工具找到了这些属性,是吗?在那行代码上设置一个断点,当你到达那里时再看看。
哎呀,那里没有k
或D
属性了。现在它具有A
和F
属性。好吧,这不行。
但你看到下面的__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时,任何未记录的内部名称都可能会发生变化。