รวมข้อมูลสรุปเส้นทางกับการค้นหาบนเส้นทาง

คุณรวมการคำนวณสรุปเส้นทางเข้ากับการค้นหาตามเส้นทางได้ ในกรณีนี้ การค้นหาข้อความ (ใหม่) จะแสดงระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ จากนั้นจะแสดงจากสถานที่แต่ละแห่งไปยังจุดหมายสุดท้ายของเส้นทาง

วิธีใช้การค้นหาข้อความ (ใหม่) เพื่อคํานวณสรุปเส้นทางพร้อมกับการค้นหาตามเส้นทาง

  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'

คำตอบจะมีอาร์เรย์ 2 รายการ ได้แก่ อาร์เรย์ 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 จะแสดงเวลาเดินทาง2 ช่วง ดังนี้

  • ส่วนขาแรกจะมีระยะเวลาและระยะทางการเดินทางจากต้นทางไปยังสถานที่ ในตัวอย่างนี้ ระยะเวลาและระยะทางจากต้นทางไปยังจุดแรกในผลการค้นหาคือ 285 วินาทีและ 1, 616 เมตร

  • ส่วนขาที่ 2 มีระยะเวลาและระยะทางการเดินทางจากจุดหนึ่งไปยังจุดหมายของเส้นทาง ในตัวอย่างนี้ ระยะเวลาและระยะทางคือ 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'

รูปภาพต่อไปนี้แสดงแผนที่ที่มีเส้นประกอบของเส้นทาง จุดเริ่มต้นใหม่ (หมุดสีน้ำเงินอ่อน) และสถานที่ในผลการค้นหา (หมุดสีเขียว) โปรดสังเกตว่าผลการค้นหาทั้งหมดอยู่ตามเส้นทางแต่ผ่านซาน มาเทโอ

ผลการค้นหาจากแหล่งที่มาของการอัปเดต