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

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

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

  1. משתמשים ב-Routes API כדי לחשב מסלול שמחזיר קו פוליגוני של מסלול בתשובה.

  2. משתמשים בפרמטר searchAlongRouteParameters.polyline.encodedPolyline כדי להעביר את קו הפוליגון של המסלול לחיפוש טקסט (חדש) כדי להטות את תוצאות החיפוש לכיוון המסלול. התשובה תכלול מקומות שתואמים לקריטריונים לחיפוש וגם נמצאים ליד המסלול שצוין.

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

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food",
  "searchAlongRouteParameters": {
    "polyline": {
      "encodedPolyline": "ROUTE_POLYLINE"
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

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

{
  "places": [
    {
      "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Veggie Garden",
        "languageCode": "en"
      }
    },
   …
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ]
    },
   …
  ]
}

לכל רשומה במערך legs, פונקציית Text Search (New) מחזירה את משך הנסיעה בשתי קטעים:

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

  • הצעד השני מכיל את משך הנסיעה ואת המרחק מהמקום ליעד המסלול. בדוגמה הזו, משך הנסיעה והמרחק הם 2,466 שניות ו-58,147 מטרים.

ציון מקור הניתוב, מצב הנסיעה ומשתני המסלול

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

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

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food",
  "maxResultCount": 5,
  "searchAlongRouteParameters": {
    "polyline": {
      "encodedPolyline": "ROUTE_POLYLINE"
    }
  },
  "routingParameters": {
    "origin": {
      "latitude": 37.56617,
      "longitude": -122.30870
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidTolls": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

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

תוצאות חיפוש ממקור העדכון.