Бесконечный цикл с Google Maps JS API размещает детали вызова "open_now" - PullRequest
0 голосов
/ 11 июля 2019

Я использую API Google Maps Javascript для получения сведений о месте.По состоянию на вчера я получаю эту ошибку:

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):

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;
}

Это не удается для определенных мест, таких как ChIJ71yZMAvSCl8RY1u0MpwXJXA ("Houheikyouгорячие источники ").

Как мне это исправить?

Ответы [ 2 ]

1 голос
/ 17 июля 2019

Эта проблема была недавно исправлена. Об этом также сообщалось в трекере публичных проблем Google здесь: https://issuetracker.google.com/issues/137213536

Проблема возникла из-за недавнего ролловера Maps JavaScript API версии 3.37, который уже был исправлен инженерами Google в соответствии с общедоступной ошибкой.

Обратите внимание, что переключение на более старые версии - это временное решение, и оно больше не будет работать после полного устаревания старых версий. Если ошибка с новой версией по-прежнему воспроизводима с вашей стороны, вы можете прокомментировать приведенную выше ссылку на проблему, чтобы инженеры могли продолжить ее изучение.

0 голосов
/ 11 июля 2019

Похоже, это проблема с util.js, включенным в версию 37. Это можно исправить, изменив строку версии API Карт Google на v=quarterly или 36.

https://maps.googleapis.com/maps/api/js?v=quarterly&key=...&libraries=geometry,drawing,places

(замените эти библиотеки своими)

Подробнее см .: https://developers.google.com/maps/documentation/javascript/versions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...