Javascript 无限循环与谷歌地图JS API地点细节调用;立即打开“U”;
我正在使用GoogleMapsJavaScriptAPI获取地点详细信息。截至昨天,我一直收到以下错误:Javascript 无限循环与谷歌地图JS API地点细节调用;立即打开“U”;,javascript,typescript,google-maps,google-maps-api-3,Javascript,Typescript,Google Maps,Google Maps Api 3,我正在使用GoogleMapsJavaScriptAPI获取地点详细信息。截至昨天,我一直收到以下错误: RangeError: Maximum call stack size exceeded at Object._.Xm (common.js:1) at Object.get [as open_now] (util.js:213) at Object.get [as open_now] (util.js:213) at Object.get [as open_
RangeError: Maximum call stack size exceeded
at Object._.Xm (common.js:1)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
at Object.get [as open_now] (util.js:213)
我的代码(Typescript)是:
在某些地方,如ChIJ71yZMAvSCl8RY1u0MpwXJXA(“后海九州温泉”),这种方法不起作用
如何修复此问题?版本37中包含的
util.js
似乎存在问题。您可以通过将Google Maps API版本字符串更改为v=quarterly
或36来解决此问题
(用您自己的库替换这些库)
有关更多详细信息,请参阅:此问题最近已修复。谷歌的公共问题跟踪器也报道了这一点: 这个问题是由于最近的MapsJavaScriptAPI版本3.37的滚动,谷歌工程师已经根据公共bug修复了这个版本
请注意,切换到旧版本是一种临时解决方法,一旦旧版本完全被弃用,将不再有效。如果新版本的错误在您这边仍然可以重现,您可以在上面的问题链接上发表评论,供工程师进一步调查。您应该检查问题跟踪程序是否存在错误,或者如果没有发现错误,您可以自己归档:
async function getGooglePlaceDetails(placeId: string, sessionToken?: string) {
const googleMapsClient = createClient({
key: config.googleMapsServerAPIKey,
Promise,
});
const response = await googleMapsClient
.place({ placeid: placeId, sessiontoken: sessionToken })
.asPromise();
return response;
}