Запросы и ответы часового пояса

Часовой пояс

Запросы к API часовых поясов формируются в виде строки URL. API возвращает данные о часовом поясе для точки на Земле, заданной парой широта/долгота. Обратите внимание, что данные о часовом поясе могут быть недоступны для мест, расположенных над водой, таких как океаны или моря.

Запрос на указание часового пояса имеет следующий вид:

https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters

где outputFormat может принимать одно из следующих значений:

  • json (рекомендуется) указывает на вывод в формате JSON ( JavaScript Object Notation ); или
  • xml указывает на вывод в формате XML, заключенный в узел <TimeZoneResponse> .

Примечание: URL-адреса должны быть правильно закодированы , чтобы быть действительными, и ограничены 16384 символами для всех веб-сервисов. Учитывайте это ограничение при составлении URL-адресов. Обратите внимание, что разные браузеры, прокси-серверы и другие серверы могут иметь разные ограничения по количеству символов в URL-адресах.

Необходимые параметры

  • расположение

    Кортеж, состоящий из широты и долготы, разделенных запятыми, с указанием location=39.6034810,-119.6822510 , представляющий собой местоположение, которое необходимо определить.

  • метка времени

    Желаемое время в секундах с полуночи 1 января 1970 года по UTC. API часовых поясов использует метку timestamp для определения необходимости применения летнего времени в зависимости от часового пояса location .

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

Дополнительные параметры

  • язык

    Язык, на котором будут возвращаться результаты.

    • См. список поддерживаемых языков . Google часто обновляет список поддерживаемых языков, поэтому этот список может быть неполным.
    • Если language не указан, API пытается использовать предпочтительный язык, указанный в заголовке Accept-Language .
    • API делает все возможное, чтобы предоставить уличный адрес, понятный как пользователю, так и местным жителям. Для достижения этой цели он возвращает уличные адреса на местном языке, при необходимости транслитерированные в письменность, понятную пользователю, с учетом предпочтительного языка. Все остальные адреса возвращаются на предпочтительном языке. Все компоненты адреса возвращаются на одном языке, который выбирается из первого компонента.
    • Если имя недоступно на предпочитаемом языке, API использует наиболее близкое совпадение.
    • Предпочитаемый язык оказывает небольшое влияние на набор результатов, которые API выбирает для возврата, и на порядок их возврата. Геокодер по-разному интерпретирует сокращения в зависимости от языка, например, сокращения для типов улиц или синонимы, которые могут быть допустимы в одном языке, но не в другом. Например, utca и tér являются синонимами слова «улица» на венгерском языке.

Примеры часовых поясов

В этом разделе приведены примеры запросов, демонстрирующие возможности API.

Приведённый ниже запрос выполняет запрос часового пояса для штата Невада, США. Временная метка установлена ​​на 5 декабря 2024 года.

URL

https://maps.googleapis.com/maps/api/timezone/json
  ?location=39.6034810%2C-119.6822510
  ×tamp=1733428634
  &key=YOUR_API_KEY

локон

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1733428634&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 0,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "Pacific Standard Time",
}

XML

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>0.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>Pacific Standard Time</time_zone_name>
</TimeZoneResponse>
      

Приведённый ниже запрос выполняет запрос часового пояса для штата Невада, США. Местоположение совпадает с указанным выше запросом, но метка времени установлена ​​на 15 марта 2024 года. В ответ теперь включено смещение, связанное с переходом на летнее время.

URL

https://maps.googleapis.com/maps/api/timezone/json
  ?location=39.6034810%2C-119.6822510
  ×tamp=1710547034
  &key=YOUR_API_KEY

локон

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 3600,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "Pacific Daylight Time",
}
        

XML

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>3600.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>Pacific Daylight Time</time_zone_name>
</TimeZoneResponse>

Этот пример похож на два предыдущих, но задает языковой параметр. В этом случае ответ будет локализован на испанский язык.

URL

https://maps.googleapis.com/maps/api/timezone/json
  ?language=es
  &location=39.6034810%2C-119.6822510
  ×tamp=1710547034
  &key=YOUR_API_KEY

локон

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&language=es&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 3600,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "hora de verano del Pacífico",
}
      

XML

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>3600.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>hora de verano del Pacífico</time_zone_name>
</TimeZoneResponse>
      

Ответы по часовым поясам

Для каждого корректного запроса система Time Zone возвращает ответ в формате, указанном в URL-адресе запроса.

TimeZoneResponse

Поле Необходимый Тип Описание
необходимый Статус часового пояса Дополнительную информацию см. в разделе TimeZoneStatus .
необязательный число

Смещение для перехода на летнее время в секундах. Оно будет равно нулю, если часовой пояс не находится в режиме летнего времени в указанный timestamp .

необязательный нить

Подробная информация о причинах присвоения данного кода состояния. Указывается, если статус отличается от Ok .

необязательный число

Смещение относительно UTC (в секундах) для указанного местоположения. При этом не учитывается переход на летнее время.

необязательный нить

Строка, содержащая идентификатор часового пояса, например, "America/Los_Angeles" или "Australia/Sydney". Эти идентификаторы определены проектом Unicode Common Locale Data Repository (CLDR) и в настоящее время доступны в файле timezone.xml. Если у часового пояса несколько идентификаторов, возвращается канонический. В XML-ответах это первый псевдоним каждого часового пояса. Например, возвращается "Asia/Calcutta", а не "Asia/Kolkata".

необязательный нить

Полное название часового пояса. Это поле будет локализовано, если задан языковой параметр. Например, Pacific Daylight Time или Australian Eastern Daylight Time .

Статус часового пояса

Поле status в объекте ответа «Часовой пояс» содержит статус запроса. Поле status может содержать следующие значения:

  • OK означает, что запрос был успешно выполнен.

  • INVALID_REQUEST указывает на то, что запрос был неправильно сформирован.

  • OVER_DAILY_LIMIT указывает на любой из следующих параметров:

    • Отсутствует или недействителен ключ API.
    • В вашем аккаунте не включена функция выставления счетов.
    • Установленный самостоятельно лимит использования превышен.
    • Предоставленный способ оплаты больше недействителен (например, срок действия кредитной карты истек).
  • OVER_QUERY_LIMIT указывает на то, что запрашивающая сторона превысила квоту.

  • REQUEST_DENIED указывает на то, что API не выполнил запрос. Убедитесь, что запрос был отправлен по протоколу HTTPS, а не HTTP.

  • UNKNOWN_ERROR указывает на неизвестную ошибку.

  • ZERO_RESULTS означает, что данные о часовом поясе для указанного местоположения или времени не найдены. Убедитесь, что запрос относится к местоположению на суше, а не над водой.

Расчет местного времени

Местное время для заданного местоположения представляет собой сумму параметра timestamp и полей dstOffset и rawOffset из полученного результата.