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

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

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

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

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

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

חיפוש לאורך מסלול דומה לשימוש באפשרויות הבקשה 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:

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

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

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

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

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

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

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

מידע נוסף על מסלולים ועל חישוב מסלולים זמין במאמר בנושא Routes API.

חישוב סיכום הניתוב באמצעות חיפוש לאורך המסלול

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

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

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

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

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

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

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

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

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

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

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