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

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

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

  1. ใช้ Routes API เพื่อคำนวณเส้นทางที่ แสดงเส้นประกอบของเส้นทาง ในคำตอบ

  2. ใช้พารามิเตอร์ searchAlongRouteParameters.polyline.encodedPolyline เพื่อ ส่งเส้นประกอบของเส้นทางไปยังการค้นหาข้อความ (ใหม่) เพื่อให้ผลการค้นหามีแนวโน้มที่จะเป็นเส้นทาง จากนั้นคำตอบจะมีสถานที่ที่ตรงกับเกณฑ์การค้นหา และอยู่ใกล้กับเส้นทางที่ระบุ

  3. ใส่ routingSummaries ในฟิลด์มาสก์เพื่อให้คำตอบมี อาร์เรย์ routingSummaries อาร์เรย์นี้จะมีระยะเวลาและระยะทาง จากจุดเริ่มต้นของเส้นทางไปยังสถานที่แต่ละแห่งในคำตอบ

ตัวสำรวจ API ช่วยให้คุณส่งคำขอแบบสดได้เพื่อให้คุณคุ้นเคยกับ API และตัวเลือก 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'

คำตอบจะมีอาร์เรย์ 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 วินาทีและ 1616 เมตร

  • ช่วงที่ 2 จะมีระยะเวลาและระยะทางในการเดินทางจากสถานที่ไปยัง จุดหมายปลายทางของเส้นทาง ในตัวอย่างนี้ ระยะเวลาและระยะทางคือ 2466 วินาทีและ 58147 เมตร

ระบุจุดเริ่มต้นของเส้นทาง โหมดการเดินทาง และตัวปรับแต่งเส้นทาง

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

โดยค่าเริ่มต้น ช่วงแรกของผลลัพธ์แต่ละรายการจะมีระยะทางจากจุดเริ่มต้นที่กำหนดโดยเส้นประกอบไปยังสถานที่แต่ละแห่ง อย่างไรก็ตาม คุณสามารถลบล้างค่าเริ่มต้นดังกล่าวได้โดยระบุจุดเริ่มต้นของเส้นทางอย่างชัดเจนในคำขอ หากระบุไว้ ช่วงแรกของคำตอบทั้งหมดจะระบุระยะทางและระยะเวลาจากจุดเริ่มต้นของเส้นทางที่ระบุ ซึ่งจะลบล้างจุดเริ่มต้นจากเส้นประกอบ

ในตัวอย่างถัดไป คุณจะระบุจุดเริ่มต้นของเส้นทางเป็นพิกัดของซานมาเทโอ รัฐแคลิฟอร์เนีย ระบุให้หลีกเลี่ยงค่าผ่านทาง และตั้งค่าจำนวนผลลัพธ์เป็น 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'

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

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

ลองใช้งาน

ตัวสำรวจ API ช่วยให้คุณส่งคำขอตัวอย่างได้เพื่อให้คุณคุ้นเคยกับ API และตัวเลือก API

  1. เลือกไอคอน API api ทางด้านขวาของหน้า

  2. แก้ไขพารามิเตอร์คำขอ (ไม่บังคับ)

  3. เลือกปุ่มดำเนินการ ในกล่องโต้ตอบ ให้เลือกบัญชี ที่ต้องการใช้ส่งคำขอ

  4. ในแผงตัวสำรวจ API ให้เลือกไอคอนเต็มหน้าจอ fullscreen เพื่อขยายหน้าต่างตัวสำรวจ API