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

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

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

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

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

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

‫APIs Explorer מאפשר לכם לשלוח בקשות בזמן אמת כדי להכיר את ה-API ואת האפשרויות שלו:

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

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": "1199 El Camino Real, San Bruno, CA 94066, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Vegan Mob - Vegan BBQ and Soul Food",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Enjoy Vegetarian",
        "languageCode": "en"
      }
    },
   
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0"
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0"
    },
   
  ]
}

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

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

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

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

רוצה לנסות?

הכלי APIs Explorer מאפשר לכם לשלוח בקשות לדוגמה כדי להכיר את ה-API ואת האפשרויות שלו.

  1. בצד שמאל של הדף, לוחצים על סמל ה-API‏ api.

  2. אפשר לערוך את פרמטרים של הבקשה.

  3. לוחצים על הכפתור Execute (הפעלה). בתיבת הדו-שיח, בוחרים את החשבון שבו רוצים להשתמש כדי לשלוח את הבקשה.

  4. בחלונית APIs Explorer, לוחצים על סמל המסך המלא מסך מלא כדי להרחיב את החלון של APIs Explorer.