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

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

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

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

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

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

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

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

นอกจากนี้ คำตอบยังมีรายการการคาดคะเนคำค้นหาที่ตรงกับสตริงการค้นหาและพื้นที่การค้นหา เช่น "Sicilian Pizza & PAsa" การคาดการณ์คำค้นหาแต่ละรายการในการตอบกลับจะมีช่อง 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

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

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

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

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

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

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

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

  • includedRegionCodes

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

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

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

  • inputOffset

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

  • languageCode

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

    • คุณต้องใช้รหัสภาษา BCP-47 ของ IETF เพื่อระบุภาษาที่ต้องการ
    • หากไม่ได้ระบุ 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
        }
      }
    • สี่เหลี่ยมผืนผ้าคือวิวพอร์ตละติจูด-ลองจิจูด ซึ่งแสดงในแนวทแยงมุม 2 ตรงข้ามกับ low และจุดสูง วิวพอร์ตจะถือเป็นภูมิภาคปิด ซึ่งหมายความว่ามีอาณาเขตรวมอยู่ด้วย ขอบเขตของละติจูดต้องอยู่ระหว่าง -90 ถึง 90 องศา และขอบเขตของลองจิจูดต้องอยู่ระหว่าง -180 ถึง 180 องศา (รวม - 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
          }
        }
      }
  • ต้นกำเนิด

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

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

    รหัสภูมิภาคที่ใช้ในการจัดรูปแบบการตอบกลับ ระบุเป็นค่าแบบ 2 อักขระของ 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, ตาราง B, หรือเฉพาะ (regions) หรือเฉพาะ (cities) สถานที่ต้องตรงกับค่าประเภทหลักค่าใดค่าหนึ่งที่ระบุไว้จึงจะรวมไว้ในการตอบกลับได้

ในตัวอย่างต่อไปนี้ คุณระบุสตริง input ของ "Soccer" และใช้พารามิเตอร์ 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 Explorer ให้คุณสร้างคำขอตัวอย่างเพื่อทำความคุ้นเคยกับ API และตัวเลือก API

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