Часовой пояс
Запросы к 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 . |
| необязательный | число | Смещение для перехода на летнее время в секундах. Оно будет равно нулю, если часовой пояс не находится в режиме летнего времени в указанный |
| необязательный | нить | Подробная информация о причинах присвоения данного кода состояния. Указывается, если статус отличается от |
| необязательный | число | Смещение относительно UTC (в секундах) для указанного местоположения. При этом не учитывается переход на летнее время. |
| необязательный | нить | Строка, содержащая идентификатор часового пояса, например, "America/Los_Angeles" или "Australia/Sydney". Эти идентификаторы определены проектом Unicode Common Locale Data Repository (CLDR) и в настоящее время доступны в файле timezone.xml. Если у часового пояса несколько идентификаторов, возвращается канонический. В XML-ответах это первый псевдоним каждого часового пояса. Например, возвращается "Asia/Calcutta", а не "Asia/Kolkata". |
| необязательный | нить | Полное название часового пояса. Это поле будет локализовано, если задан языковой параметр. Например, |
Статус часового пояса
Поле status в объекте ответа «Часовой пояс» содержит статус запроса. Поле status может содержать следующие значения:
OKозначает, что запрос был успешно выполнен.INVALID_REQUESTуказывает на то, что запрос был неправильно сформирован.OVER_DAILY_LIMITуказывает на любой из следующих параметров:- Отсутствует или недействителен ключ API.
- В вашем аккаунте не включена функция выставления счетов.
- Установленный самостоятельно лимит использования превышен.
- Предоставленный способ оплаты больше недействителен (например, срок действия кредитной карты истек).
OVER_QUERY_LIMITуказывает на то, что запрашивающая сторона превысила квоту.REQUEST_DENIEDуказывает на то, что API не выполнил запрос. Убедитесь, что запрос был отправлен по протоколу HTTPS, а не HTTP.UNKNOWN_ERRORуказывает на неизвестную ошибку.ZERO_RESULTSозначает, что данные о часовом поясе для указанного местоположения или времени не найдены. Убедитесь, что запрос относится к местоположению на суше, а не над водой.
Расчет местного времени
Местное время для заданного местоположения представляет собой сумму параметра timestamp и полей dstOffset и rawOffset из полученного результата.