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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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