סקירה כללית של החיפוש לאורך המסלול
התכונות של חיפוש לאורך מסלול זמינות בממשקי ה-API הבאים של Places (חדש):
- חיפוש טקסט (חדש) בלבד: חיפוש מקומות לאורך מסלול נסיעה מוגדר מראש.
- חיפוש טקסט (חדש) וחיפוש בקרבת מקום (חדש): חישוב סיכום המסלול ממיקום מוצא ספציפי למסלול לכל מקום בתוצאות החיפוש.
- חיפוש טקסט (חדש) בלבד: חישוב סיכום המסלול לכל מקום לאורך מסלול נסיעה מוגדר מראש.
חיפוש לאורך מסלול
משתמשים ב-Routes API כדי לחשב את מסלול הנסיעה בין שני מיקומים. באמצעות Routes API אפשר לחשב מסלול לרכב, לאופניים, לרכב דו-גלגלי, לתחבורה ציבורית או להליכה.
חיפוש טקסט (חדש) מאפשר לכם להשתמש במסלול המחושב הזה כדי לבצע חיפוש לאורך מסלול. כשמשתמשים באפשרות הזו, מעבירים את המסלול המחושב מראש מ-Routes API לבקשה של Text Search (New). התשובה תכלול מקומות שתואמים לקריטריונים לחיפוש ונמצאים גם ליד המסלול שצוין.
חיפוש לאורך מסלול דומה לשימוש באפשרויות הבקשה locationRestriction
או locationBias
כדי להטות את תוצאות החיפוש. הפונקציה locationRestriction
מחזירה תוצאות חיפוש שנמצאות בתוך גבולות שדה התצוגה, בעוד שהפונקציה locationBias
עשויה להחזיר תוצאות חיפוש מחוץ לשדה התצוגה. עם זאת, בעוד שהאפשרויות locationBias
ו-locationRestriction
מאפשרות לציין אזור כדי להטות את תוצאות החיפוש, התכונה 'חיפוש לאורך המסלול' בחיפוש טקסט מאפשרת גם להטות את תוצאות החיפוש כך שיכללו מסלולים עם זמני עקיפה מינימליים מנקודת המוצא של המסלול ועד ליעד המסלול. אפשר להטות את תוצאות החיפוש באמצעות locationBias
או locationRestriction
בשילוב עם קו הפוליגון.
לדוגמה, ניקח את המסלול מהמוצא, שנקרא נקודת ציון ב-Routes API, אל היעד כפי שחושב על ידי Routes API:
כשמחפשים לאורך המסלול, החיפוש מוטה להציג מקומות ליד המסלול עם זמני עקיפה מינימליים מהמקום המוצא ליעד. בדוגמה הזו, הנקודות A, B ו-C הן מקומות שהתקבלו מהחיפוש.
חישוב סיכום ניתוב
חיפוש טקסט (חדש) וחיפוש בקרבת מקום (חדש) יכולים לחשב את סיכום המסלול, כלומר משך הזמן והמרחק, לכל מקום בתגובה על סמך מיקום המקור של המסלול שצוין בבקשה. כשמציינים את נקודת המוצא לניתוב, התשובה כוללת לא רק רשימה של מקומות שתואמים לחיפוש, אלא גם את משך הנסיעה ואת המרחק מנקודת המוצא לניתוב לכל מקום.
בתמונה הבאה, הנקודות A, B ו-C הן מקומות שהוחזרו בתשובה לחיפוש:
התשובה לכל מקום בתוצאות כוללת את משך הנסיעה ואת המרחק מנקודת המוצא למקום, אם הנתונים האלה זמינים.
כברירת מחדל, משך הנסיעה והמרחק מחושב באמצעות האפשרות TRAFFIC_UNAWARE
ב-Routes API. אפשר להגדיר העדפות ניתוב כך שיביאו בחשבון במהלך החישובים את תנאי התנועה בזמן אמת TRAFFIC_AWARE_OPTIMAL
או את תנאי התנועה בזמן אמת עם זמן אחזור מופחת TRAFFIC_AWARE
.
מידע על מסלולים, קטעים ונקודות ציון
מסלול מורכב מכמה רכיבים, כפי שמחושב על ידי Routes API:
מסלול מורכב מהרכיבים הבאים:
- Waypoint: כדי לחשב מסלול, צריך לציין לפחות את המיקומים של המקור והיעד. מגדירים את המיקומים האלה כציוני דרך במסלול. נקודות דרך ביניים הן מיקומים בין המקור ליעד שרוצים שהמסלול יעבור דרכם.
-
מסלול: כל המסע מנקודת הציון של המוצא, דרך נקודות ציון ביניים, לנקודת הציון של היעד. מסלול מורכב משלבים אחד או יותר.
כשמעבירים מסלול לחיפוש טקסט, מעבירים את קו הפוליגון המקודד של המסלול כפי שהוא מוחזר על ידי Routes API. קו פוליגון מקודד הוא רשימה מקודדת של נקודות קו רוחב וקו אורך שמאפשרת לייצג את קו הפוליגון של המסלול כמחרוזת.
-
שלב: הנתיב מנקודת ציון אחת במסלול לנקודת הציון הבאה במסלול. כל שלב מורכב משלבים נפרדים אחד או יותר.
מסלול מכיל מקטע נפרד לנתיב מכל נקודת ציון אחת לנקודה הבאה. לדוגמה, אם המסלול מכיל נקודת ציון אחת של המוצא ונקודת ציון אחת של היעד, המסלול מכיל שלב אחד.
לכל נקודת ציון נוספת שתוסיפו למסלול אחרי נקודת המוצא והיעד, שנקראת נקודת ציון ביניים, ה-API מוסיף שלב נפרד.
מידע נוסף על מסלולים ועל חישוב מסלולים זמין במאמר Routes API.
חישוב סיכום הניתוב באמצעות חיפוש לאורך המסלול
אפשר לשלב בין חישובים של סיכום מסלול לבין חיפוש לאורך מסלול. במקרה כזה, חיפוש טקסט (חדש) מחזיר את משך הנסיעה ואת המרחק לכל מקום בתשובה, ואז מכל מקום ליעד הסופי של המסלול. אפשר להתייחס לחישוב הזה כאל משך נסיעה ומרחק נסיעה אם תבצעו עיקוף מהמסלול שצוין כדי לנסוע למקום כלשהו בתוצאות החיפוש, ולאחר מכן תמשיכו ליעד הסופי.
לדוגמה, הנתיב הבא מהמקור ליעד, כפי שחושב על ידי Routes API. מעבירים את המסלול הזה ל-Text Search (New) API יחד עם קריטריוני החיפוש.
בדוגמה הזו, מיקום א' הוא מקום שהוחזר בתוצאות החיפוש מחיפוש טקסט (חדש). לכל מקום בתשובה, החיפוש כולל את משך הנסיעה והמרחק הנדרשים כדי לבצע עיקוף למקום הזה כנסיעה בשני חלקים:
- הצעד הראשון מכיל את משך הנסיעה ואת המרחק מהמקור של המסלול אל המקום. בדוגמה הזו, מהמקום המוצא אל מקום א'.
- הצעד השני מכיל את משך הנסיעה ואת המרחק מהמיקום אל יעד המסלול. בדוגמה הזו, מ-A ליעד.
על סמך המידע בתשובה, אפשר לחשב את המרחק והמשך הזמן של הדרך החלופית, כאשר:
- \(t_{OD}\) הוא משך הנסיעה מנקודת המוצא ליעד, \(s_{OD}\) הוא מרחק הנסיעה מנקודת המוצא ליעד
- \(t_{OA}\) הוא משך הנסיעה מנקודת המוצא אל A. \(s_{OA}\) הוא מרחק הנסיעה מנקודת המוצא אל A
- \(t_{AD}\) הוא משך הנסיעה מנקודה A ליעד, \(s_{AD}\) הוא מרחק הנסיעה מנקודה A ליעד
משך הזמן של הדרך החלופית הוא ההבדל במשך הזמן בין הנסיעה המקורית (מנקודת היציאה ליעד) לבין הנסיעה החדשה (מנקודת היציאה ליעד דרך A):
מרחק הסטייה הוא ההבדל במרחק בין הנסיעה המקורית (מנקודת המוצא ליעד) לבין הנסיעה החדשה (מנקודת המוצא ליעד דרך A):