מבוא
בקשה ל-Distance Matrix API (דור קודם) נראית כך:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
כאשר outputFormat יכול להיות אחד מהערכים הבאים:
-
json(מומלץ) מציין פלט ב-JavaScript Object Notation (JSON). -
xmlמציין פלט בפורמט XML.
יש פרמטרים שחובה להוסיף ויש פרמטרים שהם אופציונליים. כמו בכתובות URL רגילות, כל הפרמטרים מופרדים באמצעות התו אמפרסנד (&). כל התווים השמורים (לדוגמה, סימן הפלוס "+") חייבים להיות מקודדים בכתובת ה-URL. רשימת הפרמטרים והערכים האפשריים שלהם מפורטת בהמשך.
פרמטרים נדרשים
-
יעדים גיאוגרפיים
מיקום אחד או יותר שישמש כנקודת הסיום לחישוב מרחק הנסיעה וזמן הנסיעה. האפשרויות לפרמטר destinations זהות לאפשרויות של הפרמטר origins.
-
מקורות
נקודת ההתחלה לחישוב מרחק הנסיעה וזמן הנסיעה. אפשר לציין מיקום אחד או יותר, מופרדים בתו קו אנכי (|), בפורמט של מזהה מקום, כתובת או קואורדינטות של קו רוחב/קו אורך:
-
מזהה מקום: אם אתם מספקים מזהה מקום, אתם צריכים להוסיף לו את התחילית
place_id:. -
כתובת: אם מעבירים כתובת, השירות ממיר את המחרוזת לקואורדינטות של קו רוחב/קו אורך כדי לחשב את המרחק. יכול להיות שהקואורדינטה הזו תהיה שונה מזו שמוחזרת על ידי Geocoding API, למשל כניסה לבניין במקום מרכז הבניין.
הערה: עדיף להשתמש במזהי מקומות ולא בכתובות או בקואורדינטות של קו רוחב/קו אורך. אם משתמשים בקואורדינטות, הנקודה תמיד תתחבר לכביש הקרוב ביותר לקואורדינטות האלה, אבל יכול להיות שזה לא יהיה כביש גישה לנכס, או אפילו כביש שיוביל ליעד במהירות או בבטחה. אם משתמשים בכתובת, המרחק שמוצג הוא למרכז המבנה, ולא לכניסה למבנה.
- קואורדינטות: אם מעבירים קואורדינטות של קו רוחב/קו אורך, הן יתחברו לכביש הקרוב ביותר. עדיף להעביר מזהה מקום. אם אתם מעבירים קואורדינטות, ודאו שאין רווח בין ערכי קו הרוחב וקו האורך.
-
קודי Plus Code צריכים להיות בפורמט של קוד גלובלי או קוד מורכב. צריך להזין את ה-Plus Codes בפורמט שמוצג כאן (סימני הפלוס מומרים ל-%2B והרווחים מומרים ל-%20):
-
קוד גלובלי הוא קוד אזור בן 4 תווים וקוד מקומי בן 6 תווים או יותר (
849VCWC8+R9מקודד ל-849VCWC8%2BR9). -
קוד מורכב הוא קוד מקומי באורך 6 תווים או יותר עם מיקום מפורש (
CWC8+R9 Mountain View, CA, USAמקודד ל-CWC8%2BR9%20Mountain%20View%20CA%20USA).
-
קוד גלובלי הוא קוד אזור בן 4 תווים וקוד מקומי בן 6 תווים או יותר (
-
קו פוליגוני מקודד לחלופין, אפשר לספק קבוצת קואורדינטות מקודדת באמצעות האלגוריתם של קו פוליגוני מקודד. האפשרות הזו שימושית במיוחד אם יש לכם מספר גדול של נקודות מוצא, כי כתובת ה-URL קצרה משמעותית כשמשתמשים בקו פוליגוני מקודד.
-
לפני קווים פוליגוניים מקודדים צריך להוסיף את הקידומת
enc:ואחריה נקודתיים:. לדוגמה:origins=enc:gfo}EtohhU: -
אפשר גם לכלול כמה קווים פוליגוניים מקודדים, שמופרדים באמצעות התו
|. לדוגמה:origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
-
לפני קווים פוליגוניים מקודדים צריך להוסיף את הקידומת
-
מזהה מקום: אם אתם מספקים מזהה מקום, אתם צריכים להוסיף לו את התחילית
פרמטרים אופציונליים
-
arrival_time
מציין את שעת ההגעה המועדפת למסלול לתחבורה ציבורית, בשניות מאז חצות, 1 בינואר 1970 UTC. אפשר לציין את
departure_timeאו אתarrival_time, אבל לא את שניהם. שימו לב שצריך לציין אתarrival_timeכמספר שלם. -
הימנעות
יכול להיות שהמרחקים יחושבו בהתאם להגבלות מסוימות. ההגבלות מצוינות באמצעות הפרמטר avoid, וארגומנט לפרמטר הזה שמציין את ההגבלה שצריך להימנע ממנה. אפשר להגדיר את ההגבלות הבאות:
-
tollsמציין שהמסלול המחושב צריך להימנע מכבישי אגרה או מגשרים. -
highwaysמציין שהמסלול המחושב צריך להימנע מכבישים מהירים. -
ferriesמציין שהמסלול המחושב צריך להימנע ממעבורות. -
indoorמציין שהמסלול המחושב צריך להימנע ממדרגות פנימיות במסלולי הליכה ומסלול לתחבורה ציבורית.
אפשר לבקש מסלול שעוקף כל שילוב של כבישי אגרה, כבישים מהירים ומעבורות, על ידי העברת שתי ההגבלות לפרמטר avoid. לדוגמה
avoid=tolls|highways|ferries.הערה: הוספת הגבלות לא מונעת מסלולים שכוללים את המאפיין המוגבל, אלא משפיעה על התוצאה כך שיוצגו מסלולים מועדפים יותר. -
-
departure_time
מציין את שעת היציאה המועדפת. אפשר לציין את השעה כמספר שלם בשניות מאז חצות, 1 בינואר 1970 UTC. אם מציינים
departure_timeמאוחר יותר מ-9999-12-31T23:59:59.999999999Z, ה-API יחזיר אתdeparture_timeל-9999-12-31T23:59:59.999999999Z. אפשר גם לציין את הערך now, שמגדיר את זמן היציאה לשעה הנוכחית (עד לרמת דיוק של שנייה). אפשר לציין את שעת היציאה בשני מקרים:-
בבקשות שבהן אמצעי התחבורה הוא תחבורה ציבורית: אפשר לציין את
departure_timeאו אתarrival_time. אם לא מציינים אף אחת מהשעות, הערך שלdeparture_timeמוגדר כברירת מחדל לעכשיו (כלומר, שעת היציאה מוגדרת כברירת מחדל לשעה הנוכחית). -
בבקשות שבהן אמצעי התחבורה הוא נהיגה: אפשר לציין את
departure_timeכדי לקבל מסלול ומשך נסיעה (שדה התגובה: duration_in_traffic) שמביאים בחשבון את מצב התנועה. השדהdeparture_timeחייב להיות מוגדר לשעה הנוכחית או לשעה כלשהי בעתיד. התאריך לא יכול להיות בעבר.
הערה: אם לא צוינה שעת יציאה, בחירת המסלול ומשך הנסיעה מבוססים על רשת הכבישים ועל מצב התנועה הממוצע ללא תלות בזמן. התוצאות של בקשה מסוימת עשויות להשתנות עם הזמן בגלל שינויים ברשת הכבישים, עדכונים במצב התנועה הממוצע והאופי המבוזר של השירות. התוצאות עשויות להשתנות גם בין מסלולים כמעט זהים בכל זמן או תדירות.הערה: בקשות של מטריצת מרחקים שמציינות אתdeparture_timeכש-mode=drivingמוגבלות ל-100 רכיבים לכל היותר לכל בקשה. מספר נקודות המוצא כפול מספר היעדים מגדיר את מספר הרכיבים. -
בבקשות שבהן אמצעי התחבורה הוא תחבורה ציבורית: אפשר לציין את
-
language
השפה שבה התוצאות יוחזרו.
- כאן אפשר לעיין ברשימת השפות הנתמכות. Google מעדכנת את השפות הנתמכות לעיתים קרובות, לכן יכול להיות שהרשימה הזו לא מלאה.
-
אם לא מציינים את הפרמטר
language, ה-API מנסה להשתמש בשפה המועדפת שצוינה בכותרתAccept-Language. - ה-API מנסה לספק כתובת רחוב שקריאה גם למשתמש וגם למקומיים. כדי להשיג את המטרה הזו, הוא מחזיר כתובות רחוב בשפה המקומית, עם תעתיק לכתב שהמשתמש יכול לקרוא במידת הצורך, תוך התחשבות בשפה המועדפת. כל שאר הכתובות מוחזרות בשפה המועדפת. כל רכיבי הכתובת מוחזרים באותה שפה, שנבחרת מהרכיב הראשון.
- אם השם לא זמין בשפה המועדפת, ה-API משתמש בהתאמה הקרובה ביותר.
- השפה המועדפת משפיעה קצת על קבוצת התוצאות שה-API בוחר להחזיר ועל הסדר שבו הן מוחזרות. הכלי להמרת כתובות לקואורדינטות מפרש קיצורים באופן שונה בהתאם לשפה, כמו קיצורים של סוגי רחובות או מילים נרדפות שעשויות להיות תקפות בשפה אחת אבל לא בשפה אחרת. לדוגמה, utca ו-tér הן מילים נרדפות ל"רחוב" בהונגרית.
-
מצב
כדי לחשב מרחקים ומסלולים, אתם יכולים לציין את אמצעי ההגעה שבו אתם רוצים להשתמש. כברירת מחדל, המערכת משתמשת במצב
DRIVING. כברירת מחדל, המסלולים מחושבים כמסלולי נסיעה. אפשר להשתמש באמצעי התחבורה הבאים:-
driving(ברירת המחדל) מציין מסלול נסיעה רגיל או מרחק באמצעות רשת הכבישים. -
walkingמבקש מסלול הליכה או מרחק באמצעות שבילים להולכי רגל ומדרכות (אם יש). -
bicyclingמבקש מסלול רכיבה על אופניים או מרחק באמצעות שבילי אופניים ורחובות מועדפים (אם הם זמינים). -
transitמבקש מסלולים או מרחק באמצעות מסלולי תחבורה ציבורית (אם זמינים). אם מגדירים את המצב ל-transit, אפשר לציין גםdeparture_timeאוarrival_time. אם לא מציינים אף אחת מהשעות, הערך שלdeparture_timeמוגדר כברירת מחדל לעכשיו (כלומר, שעת היציאה מוגדרת כברירת מחדל לשעה הנוכחית). אפשר גם לכלולtransit_modeאוtransit_routing_preference.
הערה: לפעמים מסלולי הליכה ורכיבה על אופניים לא כוללים שבילים ברורים להולכי רגל או לרוכבי אופניים, ולכן המסלולים האלה יחזירו אזהרות בתוצאה שמוחזרת, שצריך להציג למשתמש.הערה: נסיעות בתחבורה ציבורית זמינות עד 7 ימים בעבר או עד 100 ימים בעתיד, בכפוף לזמינות של מידע על תחבורה ציבורית שמסופק על ידי ספקי נתונים. לוחות הזמנים של התחבורה הציבורית משתנים לעיתים קרובות, הנסיעות הזמינות בתחבורה הציבורית עשויות להשתנות עם הזמן ואין ערובה לכך שהתחזיות לטווח ארוך יהיו עקביות. -
-
אזור
קוד האזור, שמוגדר כערך ccTLD (דומיין ברמה העליונה) באורך שני תווים. רוב קודי ה-ccTLD זהים לקודי ISO 3166-1, עם כמה חריגים בולטים. לדוגמה, סיומת ה-ccTLD של בריטניה היא "uk" (.co.uk), אבל קוד ה-ISO 3166-1 שלה הוא "gb" (מבחינה טכנית, עבור הישות "הממלכה המאוחדת של בריטניה הגדולה וצפון אירלנד").
-
traffic_model
מציין את ההנחות שצריך להשתמש בהן כשמחשבים את הזמן בתנועה. ההגדרה הזו משפיעה על הערך שמוחזר בשדה duration_in_traffic בתגובה, שמכיל את הזמן החזוי בתנועה על סמך ממוצעים היסטוריים. אפשר לציין את הפרמטר
traffic_modelרק במסלולי נסיעה שבהם הבקשה כוללתdeparture_time. הערכים האפשריים של הפרמטר הזה הם:-
best_guess(ברירת המחדל) מציין שהערך המוחזר של duration_in_traffic צריך להיות האומדן הטוב ביותר של זמן הנסיעה, בהתאם למידע הידוע על מצב התנועה ההיסטורי ועל מצב התנועה בזמן אמת. ככל ש-departure_timeקרוב יותר לזמן הנוכחי, כך חשיבותם של נתוני התנועה בזמן אמת גדלה. -
pessimisticמציין שהערך של duration_in_traffic שמוחזר אמור להיות ארוך יותר מזמן הנסיעה בפועל ברוב הימים, אבל יכול להיות שבימים מסוימים עם מצב תנועה גרוע במיוחד, זמן הנסיעה בפועל יהיה ארוך יותר מהערך הזה. -
optimisticמציין שהערך duration_in_traffic שמוחזר אמור להיות קצר יותר מזמן ההגעה בפועל ברוב הימים, אבל בימים מסוימים שבהם מצב התנועה טוב במיוחד, זמן ההגעה עשוי להיות מהיר יותר מהערך הזה.
ערך ברירת המחדל
best_guessיספק את התחזיות השימושיות ביותר לרוב תרחישי השימוש. יכול להיות שזמן ההגעה החזוי שלbest_guessיהיה קצר יותר מ-optimistic, או ארוך יותר מ-pessimistic, בגלל האופן שבו מודל החיזוי שלbest_guessמשלב מידע על מצב התנועה. -
-
transit_mode
מציין אמצעי תחבורה מועדף אחד או יותר. אפשר לציין את הפרמטר הזה רק במסלולים לתחבורה ציבורית. הפרמטר תומך בארגומנטים הבאים:
-
busמציין שהמסלול המחושב צריך להעדיף נסיעה באוטובוס. -
subwayמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת תחתית. -
trainמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת. -
tramמציין שהמסלול המחושב צריך להעדיף נסיעה בחשמלית וברכבת קלה. -
railמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת, בחשמלית, ברכבת קלה וברכבת תחתית. זה שווה ערך ל-transit_mode=train|tram|subway.
-
-
transit_routing_preference
מציין את ההעדפות למסלולי תחבורה ציבורית. באמצעות הפרמטר הזה, אתם יכולים להטות את האפשרויות שמוחזרות, במקום לקבל את המסלול הטוב ביותר שמוגדר כברירת מחדל ונבחר על ידי ה-API. אפשר לציין את הפרמטר הזה רק במסלולים לתחבורה ציבורית. הפרמטר תומך בארגומנטים הבאים:
-
less_walkingמציין שהמסלול המחושב צריך להעדיף הליכה מוגבלת. -
fewer_transfersמציין שהמסלול המחושב צריך להעדיף מספר מוגבל של החלפות.
-
-
יחידות
מציינת את מערכת היחידות שבה צריך להשתמש כשמציגים תוצאות.
הערה: ההגדרה הזו של מערכת היחידות משפיעה רק על הטקסט שמוצג בשדות המרחק. שדות המרחק מכילים גם ערכים שתמיד מבוטאים במטרים.
דוגמאות לבקשות
בדוגמה הזו, הקואורדינטות של קו הרוחב וקו האורך משמשות כדי לציין את הקואורדינטות של היעד:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626 &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'
בדוגמה הזו נעשה שימוש ב-Plus Codes כדי לציין את הקואורדינטות של היעד:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco &origins=849VCWC8%2BR9 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'
בדוגמה הזו מוצגת אותה בקשה באמצעות קו פוליגוני מקודד:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'
מידע על מצב התנועה
המידע על התנועה משמש כשכל התנאים הבאים מתקיימים (אלה התנאים הנדרשים כדי לקבל את השדה duration_in_traffic בתגובה של מטריצת מרחקים):
- הפרמטר
modeשל הנסיעה הואdriving, או שהוא לא צוין (drivingהוא אמצעי התחבורה שמוגדר כברירת מחדל). - הבקשה כוללת פרמטר
departure_timeתקין. אפשר להגדיר אתdeparture_timeלשעה הנוכחית או לשעה כלשהי בעתיד. התאריך לא יכול להיות בעבר.
אם רוצים, אפשר לכלול בבקשה את הפרמטר traffic_model כדי לציין את ההנחות שבהן צריך להשתמש כשמחשבים את הזמן בתנועה.
כתובת ה-URL הבאה יוזמת בקשה ל-Distance Matrix למרחקי נסיעה בין בוסטון, מסצ'וסטס או צ'רלסטאון, מסצ'וסטס, לבין לקסינגטון, מסצ'וסטס וקונקורד, מסצ'וסטס. הבקשה כוללת שעת יציאה, ועומדת בכל הדרישות להחזרת השדה duration_in_traffic בתגובה של מטריצת מרחקים.
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?departure_time=now &destinations=Lexington%2CMA%7CConcord%2CMA &origins=Boston%2CMA%7CCharlestown%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'
JSON
{ "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"], "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"], "rows": [ { "elements": [ { "distance": { "text": "33.3 km", "value": 33253 }, "duration": { "text": "27 mins", "value": 1620 }, "duration_in_traffic": { "text": "34 mins", "value": 2019 }, "status": "OK", }, { "distance": { "text": "41.5 km", "value": 41491 }, "duration": { "text": "33 mins", "value": 1981 }, "duration_in_traffic": { "text": "39 mins", "value": 2342 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "31.1 km", "value": 31100 }, "duration": { "text": "26 mins", "value": 1543 }, "duration_in_traffic": { "text": "29 mins", "value": 1754 }, "status": "OK", }, { "distance": { "text": "39.3 km", "value": 39338 }, "duration": { "text": "32 mins", "value": 1904 }, "duration_in_traffic": { "text": "35 mins", "value": 2077 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Boston, MA, USA Charlestown, Boston, MA, USA Lexington, MA, USA Concord, MA, USA |
OK 1620 27 mins 33253 33.3 km 2018 34 mins OK 1981 33 mins 41491 41.5 km 2342 39 mins |
OK 1543 26 mins 31100 31.1 km 1759 29 mins OK 1904 32 mins 39338 39.3 km 2077 35 mins
מגדירי מיקום
אפשר להשתמש במאפייני מיקום כדי לציין איך הנהגים צריכים להגיע למיקום מסוים, באמצעות המאפיין side_of_road כדי לציין באיזה צד של הכביש להשתמש, או על ידי ציון כיוון כדי לציין את כיוון הנסיעה הנכון.
ציינו שהמסלולים המחושבים חייבים לעבור בצד מסוים של הכביש
כשמציינים מיקום, אפשר לבקש שהמסלול המחושב יעבור דרך הצד של הכביש שאליו נוטה נקודת הדרך, באמצעות הקידומת side_of_road:. לדוגמה, הבקשה הזו תחזיר את המרחק של מסלול ארוך, כך שהרכב יסיים בצד הכביש שאליו הוטתה נקודת הדרך:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3A37.7663444%2C-122.4412006 &origins=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
כשמשתמשים ב-side_of_road: עם קווים פוליגוניים מקודדים, השינוי חל על כל מיקום לאורך הקו הפוליגוני. לדוגמה, שני היעדים בבקשה הזו משתמשים בפרמטר:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A &origins=San%20Francisco%20City%20hall &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'
אפשר להשתמש במגביל side_of_road: רק עם ההגבלה הזו:
- הפרמטר
modeשל הנסיעה הואdriving, או שהוא לא צוין (drivingהוא מצב הנסיעה שמוגדר כברירת מחדל).
הגדרת כיוון מסוים למסלולים המחושבים
כשמציינים מיקום, אפשר לבקש שהמסלול המחושב יעבור דרך המיקום בכיוון מסוים. הכיוון הזה מצוין באמצעות הקידומת heading=X:, כאשר X הוא ערך שלם של מעלות בין 0 (כולל) ל-360 (לא כולל). כיוון 0 מציין צפון, 90 מציין מזרח, וכן הלאה בכיוון השעון. לדוגמה, בבקשה הזו המסלול המחושב פונה מזרחה מנקודת המוצא, ואז מבצע פניית פרסה:
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=37.773245%2C-122.469502 &origins=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'
אפשר להשתמש בצירוף heading=X: רק עם ההגבלות הבאות:
- הפרמטר
modeשל הנסיעה הואdriving,bicyclingאו לא צוין (drivingהוא מצב הנסיעה שמוגדר כברירת מחדל). - המשתנה
side_of_roadלא צוין לאותו מיקום. - המיקום מצוין באמצעות ערך של קו רוחב/קו אורך. אי אפשר להשתמש ב-
headingעם כתובות, מזהי מקומות או קווים פוליגוניים מקודדים.
בקשות ותשובות של מטריצת מרחקים
למטה מוצגת בקשת HTTP לדוגמה, שבה מבקשים את המרחק ומשך הנסיעה מוונקובר, קולומביה הבריטית, קנדה ומסיאטל, וושינגטון, ארה"ב, לסן פרנסיסקו, קליפורניה, ארה"ב ולוויקטוריה, קולומביה הבריטית, קנדה.
כתובת URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco%7CVictoria%20BC &language=fr-FR &mode=bicycling &origins=Vancouver%20BC%7CSeattle &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'
הבקשה הזו תחזיר ארבעה רכיבים – שתי נקודות מוצא כפול שני יעדים:
| מוונקובר לסן פרנסיסקו | מוונקובר לוויקטוריה |
| מחיפה לתל אביב | מסיאטל לוויקטוריה |
התוצאות מוחזרות בשורות, כשכל שורה מכילה נקודת מוצא אחת שמשויכת לכל אחד מהיעדים.
JSON
{ "destination_addresses": ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"], "origin_addresses": ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"], "rows": [ { "elements": [ { "distance": { "text": "1 712 km", "value": 1711765 }, "duration": { "text": "3 jours 16 heures", "value": 318119 }, "status": "OK", }, { "distance": { "text": "140 km", "value": 139695 }, "duration": { "text": "6 heures 49 minutes", "value": 24567 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "1 452 km", "value": 1451704 }, "duration": { "text": "3 jours 2 heures", "value": 266680 }, "status": "OK", }, { "distance": { "text": "146 km", "value": 146500 }, "duration": { "text": "2 heures 53 minutes", "value": 10374 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Vancouver, BC, Canada Seattle, Washington, États-Unis San Francisco, Californie, États-Unis Victoria, BC, Canada |
OK 318119 3 jours 16 heures 1711765 1 712 km OK 24567 6 heures 49 minutes 139695 140 km |
OK 266680 3 jours 2 heures 1451704 1 452 km OK 10374 2 heures 53 minutes 146500 146 km
DistanceMatrixResponse
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | מערך<string> |
מערך של כתובות שהוחזרו על ידי ה-API מהבקשה המקורית. כמו ב- |
|
חובה | מערך<string> |
מערך של כתובות שהוחזרו על ידי ה-API מהבקשה המקורית. הכתובות האלה מעוצבות על ידי הכלי להמרת כתובות לקואורדינטות (geocoder) ומותאמות לשפה המקומית בהתאם לפרמטר השפה שנשלח עם הבקשה. התוכן הזה מיועד לקריאה כמו שהוא. אל תנתחו באופן פרוגרמטי את הכתובות המעוצבות. |
|
חובה | Array<DistanceMatrixRow> |
מערך של רכיבים, שכל אחד מהם מכיל את הרכיבים מידע נוסף זמין במאמר DistanceMatrixRow. |
|
חובה | DistanceMatrixStatus |
מכיל את סטטוס הבקשה, ויכול להכיל מידע על תוצאות ניפוי הבאגים כדי לעזור לכם להבין למה הבקשה נכשלה. מידע נוסף זמין במאמר DistanceMatrixStatus. |
|
אופציונלי | מחרוזת |
מחרוזת שמכילה את הטקסט הקריא לאנשים של כל השגיאות שנתקלו בהן במהלך עיבוד הבקשה. |
DistanceMatrixStatus
קודי סטטוס שמוחזרים על ידי השירות.
- הערך
OKמציין שהתשובה מכילה תוצאה תקינה. -
INVALID_REQUESTמציין שהבקשה שנשלחה לא הייתה תקינה. -
MAX_ELEMENTS_EXCEEDEDמציין שמכפלת נקודות המוצא והיעדים חורגת מהמגבלה לכל שאילתה. -
MAX_DIMENSIONS_EXCEEDEDמציין שמספר נקודות המוצא או היעדים חורג מהמגבלה לכל שאילתה. -
OVER_DAILY_LIMITמציין אחת מהאפשרויות הבאות:- מפתח ה-API חסר או לא תקין.
- החיוב לא הופעל בחשבון שלכם.
- חרגתם ממכסת השימוש שהגדרתם לעצמכם.
- אמצעי התשלום שסופק כבר לא תקף (לדוגמה, פג התוקף של כרטיס האשראי).
-
OVER_QUERY_LIMITמציין שהשירות קיבל יותר מדי בקשות מהאפליקציה שלכם בפרק הזמן המותר. -
הערך
REQUEST_DENIEDמציין שהשירות דחה את השימוש של האפליקציה בשירות מטריצת מרחקים. -
UNKNOWN_ERRORמציין שלא ניתן היה לעבד בקשה של מטריצת מרחקים בגלל שגיאה בחיבור לשרת. יכול להיות שהבקשה תצליח אם תנסו שוב.
DistanceMatrixRow
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | Array<DistanceMatrixElement> |
כשה-Distance Matrix API מחזיר תוצאות, הוא ממקם אותן במערך שורות בפורמט JSON. גם אם לא מוחזרות תוצאות (למשל, כשנקודות המוצא ו/או היעדים לא קיימים), עדיין מוחזר מערך ריק. השורות מסודרות לפי הערכים בפרמטר המקור של הבקשה. כל שורה תואמת לנקודת מוצא, וכל רכיב בשורה הזו תואם להתאמה בין נקודת המוצא לבין ערך של יעד. כל מערך שורות מכיל רשומת רכיב אחת או יותר, שבתורן מכילות את המידע על זוג אחד של מוצא ויעד. מידע נוסף זמין במאמר DistanceMatrixElement. |
DistanceMatrixElement
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | DistanceMatrixElementStatus |
סטטוס של הרכיב. מידע נוסף זמין במאמר DistanceMatrixElementStatus. |
|
אופציונלי | TextValueObject |
המרחק הכולל של המסלול הזה, מבוטא במטרים (ערך) וכטקסט. הערך הטקסטואלי משתמש במערכת היחידות שצוינה בפרמטר unit של הבקשה המקורית, או באזור של נקודת המוצא. מידע נוסף זמין במאמר TextValueObject. |
|
אופציונלי | TextValueObject |
משך הזמן שנדרש כדי לעבור את המסלול הזה, מבוטא בשניות (שדה הערך) וכטקסט. הייצוג הטקסטואלי מותאם לשוק המקומי בהתאם לפרמטר השפה של השאילתה. מידע נוסף זמין במאמר TextValueObject. |
|
אופציונלי | TextValueObject |
משך הזמן שלוקח לעבור את המסלול הזה, על סמך מצב התנועה הנוכחי וההיסטורי. בפרמטר
מידע נוסף זמין במאמר TextValueObject. |
|
אופציונלי | תעריף |
אם השדה הזה קיים, הוא מכיל את מחיר הנסיעה הכולל (כלומר, העלות הכוללת של הכרטיסים) במסלול הזה. המאפיין הזה מוחזר רק לבקשות של תחבורה ציבורית ורק לספקי תחבורה ציבורית שבהם מידע על תעריפים זמין. מידע נוסף זמין בקטע תעריף. |
מחיר הכרטיס
המחיר הכולל של המסלול.
{
"currency" : "USD",
"value" : 6,
"text" : "$6.00"
}
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | מחרוזת |
קוד מטבע בתקן ISO 4217 שמציין את המטבע שבו הסכום מבוטא. |
|
חובה | מחרוזת |
הסכום הכולל של מחיר הנסיעה, בפורמט של השפה המבוקשת. |
|
חובה | number |
סכום הנסיעה הכולל, במטבע שצוין. |
DistanceMatrixElementStatus
- הערך
OKמציין שהתשובה מכילה תוצאה תקינה. -
NOT_FOUNDמציין שלא ניתן היה להמיר לקואורדינטות את נקודת המוצא ו/או היעד של הצמד הזה. -
הערך
ZERO_RESULTSמציין שלא נמצא מסלול בין נקודת המוצא ליעד. -
הערך
MAX_ROUTE_LENGTH_EXCEEDEDמציין שהמסלול המבוקש ארוך מדי ואי אפשר לעבד אותו.
TextValueObject
אובייקט שמכיל ערך מספרי וייצוג טקסטואלי בפורמט מסוים.
| שדה | חובה | סוג | תיאור |
|---|---|---|---|
|
חובה | מחרוזת |
ערך מחרוזת. |
|
חובה | number |
ערך מספרי. |