Google Map API v3 - 超出了最大调用堆栈大小

Mat*_*der 1 javascript jquery widget google-maps-api-3

JS widget在过去5或6周内一直在开发.通过简单地将href添加到远程.js文件以及具有给定ID的DIV容器来包含窗口小部件的内容,可以将其添加到任何站点.

该小部件广泛使用Google Map API,我将其引用如下:

https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places&callback=initializeGoogleMaps
Run Code Online (Sandbox Code Playgroud)

当加载小部件时,它将要求用户检查其位置的许可,然后在其他操作中执行对该位置的简单地理编码,以便可以在地图上绘制标记.

一切都很完美,我必须在开发过程中测试超过2,000个搜索.

我昨天部署了小部件并成功将其嵌入到主机网站中 - 一切都像以往一样完美.然而,今天早上,我的小部件随着Chrome的控制台报告而崩溃:

Uncaught RangeError: Maximum call stack size exceeded{main,geometry,places}.js:27 (anonymous function)VM530:33 cVM530:33 TT.(anonymous function).fitBounds{main,geometry,places}.js:48 (anonymous function){main,geometry,places}.js:26 Uf{main,geometry,places}.js:48 O.fitBoundsWRAPPostcodeLocator.js:1541 setupPageWRAPPostcodeLocator.js:964 jQuery.ajax.successjquery.js?time=95944:3 jjquery.js?time=95944:3 k.fireWithjquery.js?time=95944:12 xjquery.js?time=95944:12 b.onload.b.onreadystatechange
Run Code Online (Sandbox Code Playgroud)

由于小部件上次工作,我的代码或主机没有任何更改,所以我怀疑Google API有问题.

可以在以下位置查看嵌入到虚拟主机中的我的窗口小部件的示例:

http://pcl.solsticecloud.co.uk
Run Code Online (Sandbox Code Playgroud)

花了几个小时试图找到底线,我仍然不是更聪明.

任何帮助或建议将非常感激.

先感谢您,

马特

Jho*_*man 5

感谢Matt Alexander,这正是问题和解决方案,但似乎谷歌改变了位置属性的名称,而不是.k.D了,现在它的.A.F !,看看下面的控制台日志:

控制台日志

  • 未记录的属性没有记录是有原因的:它们不是公共API的一部分,可能随时更改.访问`LatLng`对象的纬度和经度的正确方法是调用[reference]中记录的`lat()`和`lng()`方法(https://developers.google.com/maps /documentation/javascript/3.exp/reference#LatLng). (9认同)