เติมข้อความอัตโนมัติ (ใหม่)

เลือกแพลตฟอร์ม Android iOS JavaScript บริการผ่านเว็บ

บริการเติมข้อความอัตโนมัติ (ใหม่) เป็นบริการบนเว็บที่ส่งคืน การคาดคะเนและการคาดคะเนการค้นหาในการตอบกลับคำขอ HTTP ระบุข้อความในคำขอ สตริงการค้นหาและขอบเขตทางภูมิศาสตร์ที่ควบคุมพื้นที่ที่ค้นหา

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

การตอบกลับจาก Autocomplete (ใหม่) API มี 2 ประเภท ของการคาดคะเน:

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

ตัวอย่างเช่น คุณเรียก API โดยใช้เป็นสตริงที่มีอินพุตของผู้ใช้บางส่วน "Sicilian piz" ในพื้นที่การค้นหาจํากัดอยู่ที่ซานฟรานซิสโก แคลิฟอร์เนีย คำตอบจะมี รายการการคาดคะเนสถานที่ที่ตรงกับสตริงการค้นหาและพื้นที่การค้นหา เช่น ร้านอาหารชื่อ "Sicilian Pizza Kitchen" พร้อมด้วยรายละเอียดเกี่ยวกับสถานที่

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

การตอบกลับอาจมีรายการการคาดคะเนคำค้นหาที่ตรงกับ สตริงการค้นหาและพื้นที่การค้นหา เช่น "Sicilian Pizza & พาสต้า" การคาดการณ์คำค้นหาแต่ละรายการใน การตอบกลับจะรวมช่อง text ที่มีสตริงการค้นหาข้อความที่แนะนำ ใช้อันนั้น เป็นอินพุตไปยัง การค้นหาข้อความ (ใหม่) เพื่อค้นหาข้อมูลที่ละเอียดมากขึ้น

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

ลองใช้งาน

คำขอเติมข้อความอัตโนมัติ (ใหม่)

คำขอเติมข้อความอัตโนมัติ (ใหม่) เป็นคำขอ HTTP POST ไปยัง URL ใน แบบฟอร์ม:

https://places.googleapis.com/v1/places:autocomplete

ส่งพารามิเตอร์ทั้งหมดในเนื้อหาคำขอ JSON หรือในส่วนหัวโดยเป็นส่วนหนึ่งของคำขอ POST เช่น

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

เกี่ยวกับคำตอบ

Autocomplete (ใหม่) จะแสดงออบเจ็กต์ JSON เป็นการตอบกลับ ในการตอบกลับ:

  • อาร์เรย์ suggestions มีข้อมูลสถานที่และข้อความค้นหาที่คาดการณ์ทั้งหมดตามลำดับ ตามความเกี่ยวข้องที่รับรู้ สถานที่แต่ละแห่งจะแสดงเป็น placePrediction ฟิลด์และคำค้นหาแต่ละรายการจะแสดง ข้างช่อง queryPrediction
  • ช่อง placePrediction จะมีข้อมูลโดยละเอียดเกี่ยวกับ การคาดคะเนสถานที่ ซึ่งรวมถึงรหัสสถานที่และข้อความอธิบาย
  • ช่อง queryPrediction จะมีข้อมูลโดยละเอียดเกี่ยวกับ การคาดคะเนข้อความค้นหา

ออบเจ็กต์ JSON ที่สมบูรณ์อยู่ในรูปแบบดังนี้

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

พารามิเตอร์ที่จำเป็น

  • อินพุต

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

พารามิเตอร์ที่ไม่บังคับ

  • includedPrimaryTypes

    สถานที่มีประเภทหลักได้เพียงประเภทเดียวจากประเภทที่แสดงในรายการ ตาราง A หรือ ตาราง ข ตัวอย่างเช่น ประเภทหลักอาจเป็น "mexican_restaurant" หรือ "steak_house"

    โดยค่าเริ่มต้น API จะแสดงผลตำแหน่งทั้งหมดตามพารามิเตอร์ input โดยไม่คำนึงถึง ของค่าประเภทหลักที่เชื่อมโยงกับสถานที่ จำกัดผลการค้นหาเป็นจำนวนหนึ่ง ประเภทหลักหรือประเภทหลักโดยการส่งพารามิเตอร์ includedPrimaryTypes

    ใช้พารามิเตอร์นี้เพื่อระบุค่าประเภทได้สูงสุด 5 ค่าจากตาราง A หรือ ตาราง ข สถานที่ต้อง ตรงกับค่าประเภทหลักที่ระบุค่าใดค่าหนึ่งเพื่อรวมไว้ในการตอบกลับ

    พารามิเตอร์นี้อาจรวมถึง (regions) หรือ (cities) แทน ตัวกรองคอลเล็กชันประเภท (regions) สำหรับพื้นที่หรือส่วนย่อย เช่น ย่านใกล้เคียงและรหัสไปรษณีย์ ตัวกรองคอลเล็กชันประเภท (cities) สำหรับสถานที่ที่ Google ระบุว่าเป็นเมือง

    คำขอจะถูกปฏิเสธโดยมีข้อผิดพลาด INVALID_REQUEST ในกรณีต่อไปนี้

    • มีการระบุมากกว่า 5 ประเภท
    • นอกเหนือจาก (cities) หรือ (regions) แล้ว คุณจะต้องระบุประเภทใดประเภทหนึ่งด้วย
    • ระบบจะระบุประเภทที่ไม่รู้จัก
  • includeQueryPredictions

    หากเป็น true คำตอบจะมีทั้งการคาดคะเนสถานที่และการคาดคะเนการค้นหา ค่าเริ่มต้น ค่าคือ false ซึ่งหมายความว่าการตอบกลับจะมีแต่การคาดคะเนสถานที่เท่านั้น

  • includedRegionCodes

    รวมเฉพาะผลลัพธ์จากรายการภูมิภาคที่ระบุ ซึ่งระบุเป็นอาร์เรย์สูงสุด 15 รายการ ccTLD ("โดเมนระดับบนสุด") ซึ่งมีอักขระ 2 ตัว หากไม่ระบุ จะไม่มีการใช้ข้อจำกัดกับคำตอบ ตัวอย่างเช่น หากต้องการจำกัดภูมิภาคเป็นเยอรมนีและฝรั่งเศส ให้ทำดังนี้

        "includedRegionCodes": ["de", "fr"]

    หากคุณระบุทั้ง locationRestriction และ includedRegionCodes ผลลัพธ์จะอยู่ในบริเวณที่เป็นจุดตัดของการตั้งค่าทั้งสอง

  • inputOffset

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

  • languageCode

    ภาษาที่ต้องการแสดงผลการค้นหา ผลการค้นหาอาจเป็นภาษาผสม หากภาษาที่ใช้ใน input แตกต่างจากค่าที่ระบุโดย languageCode หรือหากสถานที่ที่ส่งคืนไม่มีคำแปลจากภาษา ภาษาท้องถิ่นเป็นภาษาlanguageCode

    • คุณต้องใช้ IETF รหัสภาษา BCP-47 เพื่อระบุภาษาที่ต้องการ
    • หากไม่ได้ระบุ languageCode ไว้ API จะใช้ค่าที่ระบุไว้ใน ส่วนหัว Accept-Language หากไม่ได้ระบุไว้ทั้งคู่ ค่าเริ่มต้นคือ en หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะแสดงผล ข้อผิดพลาด INVALID_ARGUMENT รายการ
    • ภาษาที่ต้องการจะมีอิทธิพลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกจะแสดงผล และลำดับการส่งกลับ ซึ่งจะส่งผลต่อความสามารถของ API ในการแก้ไขข้อผิดพลาดในการสะกดคำด้วย
    • API จะพยายามระบุที่อยู่ที่ทั้งผู้ใช้และผู้ใช้และ ประชากรในท้องถิ่น ขณะเดียวกันก็แสดงข้อมูลที่ผู้ใช้ป้อนด้วย การคาดคะเนสถานที่คือ จะจัดรูปแบบแตกต่างกันไปตามข้อมูลที่ผู้ใช้ป้อนในคำขอแต่ละรายการ
      • เลือกคำที่ตรงกันในพารามิเตอร์ input ก่อนโดยใช้ชื่อที่สอดคล้อง ด้วยค่ากำหนดภาษาซึ่งระบุโดยพารามิเตอร์ languageCode เมื่อ หากเป็นไปได้ แต่ให้ใช้ชื่อที่ตรงกับข้อมูลจากผู้ใช้มากที่สุด
      • ที่อยู่จะได้รับการจัดรูปแบบในภาษาท้องถิ่น ในสคริปต์ที่ผู้ใช้สามารถอ่านได้ หากเป็นไปได้ หลังจากที่เลือกคำที่ตรงกันแล้ว เพื่อให้ตรงกับคำที่มีใน พารามิเตอร์ input
      • ที่อยู่อื่นๆ ทั้งหมดจะส่งคืนในภาษาที่ต้องการ หลังจากคำที่ตรงกัน ได้รับเลือกให้ตรงกับคำในพารามิเตอร์ input หากชื่อไม่ใช่ API จะใช้การจับคู่ที่ใกล้เคียงที่สุดในภาษาที่ต้องการ
  • locationBias หรือ locationRestriction

    คุณสามารถระบุ locationBias หรือ locationRestriction แต่ไม่ใช่ทั้ง 2 อย่าง เพื่อกำหนดพื้นที่ค้นหา ให้คิดว่า locationRestriction เป็นการระบุ ภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และ locationBias เป็น ระบุภูมิภาคที่ผลลัพธ์ต้องอยู่ใกล้แต่สามารถอยู่ภายนอก พื้นที่นั้น

    • locationBias

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

    • locationRestriction

      ระบุพื้นที่ที่จะค้นหา ผลลัพธ์นอกพื้นที่ที่ระบุไม่ได้ ส่งคืนแล้ว

    ระบุภูมิภาค locationBias หรือ locationRestriction เป็น วิวพอร์ตสี่เหลี่ยมผืนผ้าหรือเป็นวงกลม

    • วงกลมกำหนดด้วยจุดศูนย์กลางและรัศมีเป็นเมตร รัศมีต้องอยู่ระหว่าง 0.0 และ 50000.0 เท่านั้น ค่าเริ่มต้นคือ 0.0 สำหรับ locationRestriction คุณต้องกำหนดรัศมีเป็นค่าที่มากกว่า 0.0 มิเช่นนั้น คำขอจะส่งคืนค่า ไม่มีผลลัพธ์

      เช่น

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • สี่เหลี่ยมผืนผ้าคือวิวพอร์ตละติจูด-ลองจิจูด ซึ่งแสดงเป็น แนวทแยงมุมตรงข้าม low และจุดสูงสุด วิวพอร์ตถือว่าเป็น บริเวณที่ถูกปิด ซึ่งหมายความว่ามีอาณาเขตรวมอยู่ด้วย ขอบเขตของละติจูด ต้องอยู่ระหว่าง -90 ถึง 90 องศา และขอบเขตของลองจิจูด ต้องอยู่ในช่วง -180 ถึง 180 องศา

      • หาก low = high วิวพอร์ตจะประกอบด้วยจุดเดียวดังกล่าว
      • หาก low.longitude > high.longitude ระบบจะกลับช่วงลองจิจูด (วิวพอร์ตข้ามเส้นลองจิจูด 180 องศา)
      • หาก low.longitude = -180 องศาและ high.longitude = 180 องศา วิวพอร์ตจะมีลองจิจูดทั้งหมด
      • หาก low.longitude = 180 องศาและ high.longitude = -180 องศา ช่วงลองจิจูดว่างเปล่า

      ต้องป้อนข้อมูลทั้ง low และ high และช่องที่แสดง ต้องระบุ วิวพอร์ตที่ว่างเปล่าจะทำให้เกิดข้อผิดพลาด

      ตัวอย่างเช่น วิวพอร์ตนี้ล้อมรอบนิวยอร์กซิตี้ทั้งหมด

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • origin

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

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    รหัสภูมิภาคที่ใช้ในการจัดรูปแบบการตอบกลับ ระบุเป็น ccTLD ("โดเมนระดับบนสุด") ที่เป็นค่าสองตัว รหัส ccTLD ส่วนใหญ่เหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นบางประการเด่นๆ ตัวอย่างเช่น ccTLD ของสหราชอาณาจักรคือ "uk" (.co.uk) ในขณะที่รหัส ISO 3166-1 คือ "gb" (โดยทางเทคนิคสำหรับ นิติบุคคล "สหราชอาณาจักรบริเตนใหญ่และไอร์แลนด์เหนือ")

    หากคุณระบุรหัสภูมิภาคไม่ถูกต้อง API จะแสดงผล INVALID_ARGUMENT พารามิเตอร์อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง

  • sessionToken

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

ตัวอย่างการเติมข้อความอัตโนมัติ (ใหม่)

ใช้ locationRestriction และ locationBias

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

locationRestriction ระบุพื้นที่ที่จะค้นหา ผลการค้นหานอกพื้นที่ที่ระบุ จะไม่มีการส่งคืน ในตัวอย่างต่อไปนี้ คุณใช้ locationRestriction เพื่อจำกัดช่วงเวลา คำขอไปยังวงกลมรัศมี 5,000 เมตรที่มีศูนย์กลางอยู่ที่ซานฟรานซิสโก

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

ผลลัพธ์ทั้งหมดจากภายในพื้นที่ที่ระบุอยู่ในอาร์เรย์ suggestions:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

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

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

ขณะนี้ผลการค้นหาจะมีรายการมากขึ้น รวมถึงผลการค้นหานอกรัศมี 5000 เมตร:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

ใช้ includePrimaryTypes

ใช้พารามิเตอร์ includedPrimaryTypes เพื่อระบุค่าจากประเภทได้สูงสุด 5 ประเภท ตาราง A ตาราง ข หรือเพียง (regions) หรือ (cities) เท่านั้น สถานที่ต้องตรงกับ 1 แห่งที่ระบุไว้ ค่าประเภทหลักที่จะรวมอยู่ในคำตอบ

ในตัวอย่างต่อไปนี้ คุณระบุสตริง input เป็น "ฟุตบอล" และใช้พารามิเตอร์ includedPrimaryTypes เพื่อจำกัดผลลัพธ์ไว้เฉพาะ สถานประกอบการประเภท "sporting_goods_store":

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

หากคุณไม่ใส่พารามิเตอร์ includedPrimaryTypes ผลลัพธ์จะรวมสิ่งต่อไปนี้ สถานประกอบการของประเภทที่คุณไม่ต้องการ เช่น "athletic_field"

ขอการคาดการณ์การค้นหา

การคาดคะเนการค้นหาจะไม่แสดงโดยค่าเริ่มต้น ใช้ includeQueryPredictions พารามิเตอร์คำขอเพื่อเพิ่มการคาดการณ์คำค้นหาไปยังการตอบกลับ เช่น

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

ตอนนี้อาร์เรย์ suggestions มีทั้งการคาดคะเนสถานที่และการคาดคะเนการค้นหา ดังที่แสดงด้านบนในส่วนเกี่ยวกับคําตอบ การคาดการณ์คำค้นหาแต่ละรายการ รวมช่อง text ที่มีสตริงการค้นหาข้อความที่แนะนำ คุณสามารถทำ การค้นหาข้อความ (ใหม่) ขอรับข้อมูลเพิ่มเติมเกี่ยวกับการคาดการณ์การค้นหาที่ส่งคืนมา

ใช้ต้นทาง

ในตัวอย่างนี้ ให้ใส่ origin ในคำขอเป็นพิกัดละติจูดและลองจิจูด เมื่อคุณรวม origin API จะรวมช่อง distanceMeters ไว้ในแท็ก คำตอบที่มีระยะทางเป็นเส้นตรงจาก origin ไปยังปลายทาง ตัวอย่างนี้กำหนดต้นทางไว้ที่จุดศูนย์กลางของซานฟรานซิสโก

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

การตอบกลับตอนนี้รวม distanceMeters:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

ลองใช้งาน

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

  1. เลือกไอคอน API ขยายโปรแกรมสำรวจ API ที่ด้านขวาของหน้า
  2. ขยายแสดงพารามิเตอร์มาตรฐาน (ไม่บังคับ) และตั้งค่า พารามิเตอร์ fields ในฟิลด์มาสก์
  3. แก้ไขเนื้อหาคำขอ (ไม่บังคับ)
  4. เลือกปุ่มดำเนินการ ในป๊อปอัป ให้เลือกบัญชีที่ต้องการใช้ส่งคำขอ
  5. ในแผงโปรแกรมสำรวจ API ให้เลือกไอคอนขยาย ขยายโปรแกรมสำรวจ API เพื่อขยายหน้าต่างโปรแกรมสำรวจ API