אזור זמן
בקשות ל-Time Zone API מורכבות כמחרוזת של כתובת URL. ה-API מחזיר נתונים של אזור זמן עבור נקודה על פני כדור הארץ, שצוינה על ידי זוג של קווי רוחב ואורך. שימו לב: יכול להיות שנתוני אזור הזמן לא יהיו זמינים לגבי מיקומים מעל המים, כמו אוקיינוסים או ימים.
בקשה לאזור זמן מופיעה באופן הבא:
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
הערך outputFormat יכול להיות אחד מהערכים הבאים:
-
json(מומלץ), מציין פלט בפורמט JavaScript Object Notation (JSON); או -
xml, מציין פלט ב-XML, עטוף בצומת<TimeZoneResponse>.
הערה: כתובות ה-URL חייבות להיות מקודדות בצורה נכונה כדי להיות תקינות, והן מוגבלות ל-16,384 תווים בכל שירותי האינטרנט. חשוב לזכור את המגבלה הזו כשיוצרים כתובות URL. שימו לב שגם בדפדפנים, בשרתי proxy ובשרתים שונים יכולות להיות מגבלות שונות על מספר התווים בכתובת URL.
פרמטרים נדרשים
-
location
טופל של קו רוחב וקו אורך מופרדים בפסיק,
location=39.6034810,-119.6822510, שמייצג את המיקום לחיפוש. -
חותמת זמן
הזמן הרצוי בשניות מאז חצות, 1 בינואר 1970 UTC. Time Zone API משתמש ב-
timestampכדי לקבוע אם צריך להחיל שעון קיץ, על סמך אזור הזמן שלlocation.שימו לב: ה-API לא מתייחס לאזורי זמן היסטוריים. כלומר, אם מציינים חותמת זמן מהעבר, ה-API לא לוקח בחשבון את האפשרות שהמיקום היה בעבר באזור זמן אחר.
פרמטרים אופציונליים
-
language
השפה שבה יוחזרו התוצאות.
- כאן אפשר לעיין ברשימת השפות הנתמכות. Google מעדכנת לעיתים קרובות את השפות הנתמכות, ולכן יכול להיות שהרשימה הזו לא מלאה.
-
אם לא מספקים את
language, ה-API מנסה להשתמש בשפה המועדפת שצוינה בכותרתAccept-Language. - ה-API עושה כמיטב יכולתו כדי לספק כתובת רחוב שקלה לקריאה גם למשתמש וגם לתושבים המקומיים. כדי להשיג את המטרה הזו, הוא מחזיר כתובות רחוב בשפה המקומית, בתעתיק לכתב שהמשתמש יכול לקרוא אם צריך, בהתאם לשפה המועדפת. כל שאר הכתובות מוחזרות בשפה המועדפת. כל רכיבי הכתובת מוחזרים באותה שפה, שנבחרת מתוך הרכיב הראשון.
- אם שם לא זמין בשפה המועדפת, ה-API משתמש בהתאמה הקרובה ביותר.
- לשפה המועדפת יש השפעה קטנה על קבוצת התוצאות שממשק ה-API בוחר להחזיר, ועל הסדר שבו התוצאות מוחזרות. כלי להמרת כתובות לקואורדינטות (geocoder) מפרש קיצורים בצורה שונה בהתאם לשפה, כמו קיצורים של סוגי רחובות או מילים נרדפות שעשויות להיות תקפות בשפה אחת אבל לא בשפה אחרת. לדוגמה, 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
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
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
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>
תשובות לגבי אזור זמן
לכל בקשה תקינה, אזור הזמן מחזיר תגובה בפורמט שצוין בכתובת ה-URL של הבקשה.
TimeZoneResponse
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | TimeZoneStatus | מידע נוסף זמין במאמר בנושא TimeZoneStatus. |
|
אופציונלי | number |
ההיסט בשניות לשעון הקיץ. הערך יהיה אפס
אם אזור הזמן לא נמצא בשעון קיץ במהלך
התקופה שצוינה |
|
אופציונלי | מחרוזת |
מידע מפורט על הסיבות לקוד הסטטוס שמופיע.
הפריט נכלל אם הסטטוס שלו שונה מ- |
|
אופציונלי | number |
הסטייה משעון UTC (בשניות) עבור המיקום הנתון. ההגדרה הזו לא מתחשבת בשעון הקיץ. |
|
אופציונלי | מחרוזת |
מחרוזת שמכילה את המזהה של אזור הזמן, למשל America/Los_Angeles או Australia/Sydney. המזהים האלה מוגדרים על ידי פרויקט Unicode Common Locale Data Repository (CLDR), והם זמינים כרגע בקובץ timezone.xml. אם לאזור זמן יש כמה מזהים, הפונקציה מחזירה את המזהה הקנוני. בתשובות בפורמט XML, זהו הכינוי הראשון של כל אזור זמן. לדוגמה, הערך שמוחזר הוא Asia/Calcutta ולא Asia/Kolkata. |
|
אופציונלי | מחרוזת |
השם הארוך של אזור הזמן. השדה הזה יותאם לשוק המקומי אם פרמטר השפה מוגדר. לדוגמה:
|
TimeZoneStatus
השדה status באובייקט התגובה של אזור הזמן מכיל את סטטוס הבקשה. השדה status יכול להכיל את הערכים הבאים:
-
OKמציין שהבקשה בוצעה בהצלחה. -
INVALID_REQUESTמציין שהבקשה הייתה בעלת מבנה פגום. -
OVER_DAILY_LIMITמציין את אחת מהאפשרויות הבאות:- מפתח ה-API חסר או לא תקין.
- החיוב לא הופעל בחשבון שלך.
- הייתה חריגה ממכסת שימוש שהוגדרה על ידי המשתמש.
- אמצעי התשלום שצוין לא תקף יותר (לדוגמה, תוקף כרטיס האשראי פג).
-
OVER_QUERY_LIMITמציין שהשולח חרג מהמכסה. -
REQUEST_DENIEDמציין שממשק ה-API לא השלים את הבקשה. מוודאים שהבקשה נשלחה באמצעות HTTPS ולא באמצעות HTTP. -
UNKNOWN_ERRORמציין שגיאה לא ידועה. -
ZERO_RESULTSמציין שלא נמצאו נתונים של אזור זמן למיקום או לזמן שצוינו. מוודאים שהבקשה היא למיקום ביבשה ולא מעל מים.
חישוב השעה המקומית
השעה המקומית במיקום מסוים היא סכום הפרמטר timestamp והשדות dstOffset ו-rawOffset מהתוצאה.