אזור זמן
בקשות ל-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 בוחר להחזיר, ועל הסדר שבו הן מוחזרות. הגיאוקודר מפרש קיצורים בצורה שונה בהתאם לשפה, כמו קיצורים של סוגי רחובות או מילים נרדפות שעשויות להיות תקפות בשפה אחת אבל לא בשפה אחרת. לדוגמה, utca ו-tér הן מילים נרדפות למילה 'רחוב' בהונגרית.
דוגמאות לאזורי זמן
בקטע הזה יש כמה דוגמאות לשאילתות שמדגימות תכונות של ה-API.
השאילתה שלמטה מבצעת בקשה לאזור זמן בנבאדה, ארה"ב. חותמת הזמן מוגדרת ל-5 בדצמבר 2024.
כתובת URL
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1733428634&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-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 | מידע נוסף זמין במאמר בנושא 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 מהתוצאה.