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

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

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

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

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

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

חיפוש לאורך מסלול דומה לשימוש באפשרויות הבקשה locationRestriction או locationBias כדי להטות את תוצאות החיפוש. ‫locationRestriction מחזירה תוצאות חיפוש שנמצאות בתוך גבולות אזור התצוגה, בעוד ש-locationBias עשויה להחזיר תוצאות חיפוש שנמצאות מחוץ לאזור התצוגה. עם זאת, בעוד שהאפשרויות locationBias ו-locationRestriction מאפשרות לציין אזור כדי להטות את תוצאות החיפוש, התכונה 'חיפוש לאורך המסלול' בחיפוש טקסט מאפשרת גם להטות את תוצאות החיפוש כך שיכללו תוצאות עם זמני עיקוף מינימליים מנקודת המוצא של המסלול ועד ליעד שלו. אתם יכולים להטות את תוצאות החיפוש באמצעות locationBias או locationRestriction בשילוב עם הקו המרוסקע.

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

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

כשמחפשים לאורך המסלול, החיפוש מוטה להחזרת מקומות קרובים למסלול עם זמני עיקוף מינימליים מהמוצא ליעד. בדוגמה הזו, הנקודות A,‏ B ו-C הן מקומות שהוחזרו בחיפוש.

חישוב סיכום הניתוב

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

בתמונה הבאה, הנקודות A,‏ B ו-C הן מקומות שמוחזרים בתגובת החיפוש:

נקודות A,‏ B ו-C הן מקומות שמוחזרים בתגובה לחיפוש.

לכל מקום בתוצאות, התשובה מכילה את משך הנסיעה והמרחק מנקודת המוצא של המסלול למקום, אם הנתונים האלה זמינים.

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

מידע על מסלולים, קטעי דרך ונקודות ציון

מסלול מורכב מכמה רכיבים, כפי שמחושב על ידי Routes API:

הרכיבים שמרכיבים מסלול.

מסלול מורכב מהרכיבים הבאים:

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

    כשמעבירים מסלול לחיפוש טקסט, מעבירים את הקו הפוליגוני המקודד של המסלול כפי שמוחזר על ידי 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 אל היעד

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

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

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

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