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

เลือกแพลตฟอร์ม: 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