סקירה כללית של חיפוש לאורך המסלול

התכונות של חיפוש לאורך המסלול זמינות בממשקי ה-API הבאים של Places (חדש):

  • רק בחיפוש טקסט (חדש): חיפוש מקומות לאורך מסלול מוגדר מראש.
  • חיפוש טקסט (חדש) וחיפוש בסביבה הקרובה (חדש): חישוב סיכום הניתוב ממיקום מוצא מוגדר לכל מקום בתוצאות החיפוש.
  • חיפוש טקסט (חדש) בלבד: חישוב סיכום המסלול לכל מקום לאורך מסלול נסיעה מוגדר מראש.

חיפוש לאורך מסלול

משתמשים ב-Routes API כדי לחשב את מסלול הנסיעה בין שני מיקומים. ‫Routes API יכול לחשב מסלול לרכב, לאופניים, לכלי רכב דו-גלגלי, למערכת תחבורה ציבורית או להליכה.

חיפוש טקסט (חדש) מאפשר לכם להשתמש במסלול המחושב הזה כדי לבצע חיפוש לאורך מסלול. באמצעות האפשרות הזו, מעבירים את המסלול שחושב מראש מ-Routes API לבקשה של חיפוש טקסט (חדש). התשובה תכיל מקומות שתואמים לקריטריונים של החיפוש וממוקמים בקרבת המסלול שצוין.

חיפוש לאורך מסלול דומה לשימוש באפשרויות הבקשה 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. מעבירים את המסלול הזה ל-API של חיפוש טקסט (חדש) יחד עם הקריטריונים לחיפוש.

מסלול מנקודת המוצא אל היעד עם מעקף לתוצאת חיפוש.

בדוגמה הזו, מיקום א' הוא מקום שמוחזר בתוצאות החיפוש של חיפוש טקסט (חדש). לכל מקום בתגובה, החיפוש כולל את משך הזמן והמרחק שנדרשים כדי לסטות מהמסלול למקום הזה, כנסיעה בשני מקטעים:

  • הקטע הראשון מכיל את משך הנסיעה והמרחק מנקודת המוצא של המסלול אל המקום. בדוגמה הזו, מנקודת המוצא למקום א'.
  • הקטע השני מכיל את משך הנסיעה והמרחק מהמקום אל היעד במסלול. בדוגמה הזו, מנקודה A ליעד.

על סמך המידע שבתשובה, אתם יכולים לחשב את משך הזמן והמרחק של העיקוף, כאשר:

  • ‫ \(t_{OD}\) הוא משך הנסיעה מנקודת המוצא ליעד, ‫ \(s_{OD}\) הוא מרחק הנסיעה מנקודת המוצא ליעד
  • ‫ \(t_{OA}\) הוא משך הנסיעה מהמוצא לנקודה א';‏ \(s_{OA}\) הוא מרחק הנסיעה מהמוצא לנקודה א'
  • ‫ \(t_{AD}\) הוא משך הנסיעה מנקודה A ליעד; ‫ \(s_{AD}\) הוא מרחק הנסיעה מנקודה A ליעד

משך העיקוף הוא ההפרש במשך בין הנסיעה המקורית (מנקודת המוצא ליעד) לבין הנסיעה החדשה (מנקודת המוצא ליעד דרך נקודה א'):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

המרחק של הדרך העוקפת הוא ההפרש במרחק בין המסלול המקורי (מנקודת המוצא ליעד) לבין המסלול החדש (מנקודת המוצא ליעד דרך נקודה א'):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$