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

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

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

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

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

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

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

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

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

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

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

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

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

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

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