Javascript 无限循环与谷歌地图JS API地点细节调用;立即打开“U”;

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_

我正在使用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_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;
}