Place Autocomplete (เดิม)

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

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

คำขอ Place Autocomplete (เดิม)

Place Autocomplete (เดิม) เป็นส่วนหนึ่งของ Places API และใช้คีย์ API และโควต้าร่วมกับ Places API

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

คุณต้องจัดรูปแบบ Plus Codes อย่างถูกต้อง ซึ่งหมายความว่าคุณต้องกำหนดเครื่องหมายบวกเป็นอักขระหลีกใน URL เป็น %2B และต้องกำหนดการเว้นวรรคเป็นอักขระหลีกใน URL เป็น %20

  • รหัสสากลคือรหัสพื้นที่ 4 หลักและรหัสท้องถิ่น 6 หลักขึ้นไป เช่น รหัสส่วนกลางที่หลีกเลี่ยง URL 849VCWC8+R9 คือ 849VCWC8%2BR9
  • รหัสผสมคือรหัสท้องถิ่น 6 หลักขึ้นไปที่มีการระบุตำแหน่งชัดเจน เช่น รหัสผสมที่หลีกเลี่ยง URL CWC8+R9 Mountain View, CA, USA คือ CWC8%2BR9%20Mountain%20View%20CA%20USA

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

คำขอ Place Autocomplete (เดิม) คือ HTTP URL ในรูปแบบต่อไปนี้

https://maps.googleapis.com/maps/api/place/autocomplete/output?parameters

โดย output อาจมีค่าใดค่าหนึ่งต่อไปนี้

  • json (แนะนำ) ระบุเอาต์พุตใน JavaScript Object Notation (JSON)
  • xml ระบุเอาต์พุตเป็น XML

ต้องใช้พารามิเตอร์บางอย่างเพื่อเริ่มต้นคำขอ Place Autocomplete (เดิม) พารามิเตอร์ทั้งหมดจะคั่นด้วยเครื่องหมายแอมเพอร์แซนด์ (&) ตามมาตรฐานใน URL รายการพารามิเตอร์และค่าที่เป็นไปได้ แสดงอยู่ด้านล่าง

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

  • อินพุต

    สตริงข้อความที่จะค้นหา บริการ Place Autocomplete จะ แสดงผลการจับคู่ที่เป็นไปได้ตามสตริงนี้ และจัดลำดับผลลัพธ์ตาม ความเกี่ยวข้องที่รับรู้

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

  • คอมโพเนนต์

    การจัดกลุ่มสถานที่ที่คุณต้องการจำกัดผลการค้นหา คุณสามารถใช้คอมโพเนนต์เพื่อกรองตามประเทศได้สูงสุด 5 ประเทศ ต้องส่งประเทศเป็นรหัสประเทศแบบ 2 อักขระที่เข้ากันได้กับ ISO 3166-1 Alpha-2 เช่น components=country:fr จะ จำกัดผลการค้นหาให้แสดงเฉพาะสถานที่ในฝรั่งเศส หากมีหลายประเทศ ต้องส่งผ่านcountry:XXตัวกรองหลายรายการ โดยใช้เครื่องหมายไปป์ | เป็นตัวคั่น ตัวอย่างเช่น components=country:us|country:pr|country:vi|country:gu|country:mp จะจำกัดผลการค้นหาให้แสดงเฉพาะสถานที่ในสหรัฐอเมริกาและ เขตแดนที่จัดตั้งขึ้นแต่ไม่ได้จดทะเบียน

    หมายเหตุ: หากได้รับผลลัพธ์ที่ไม่คาดคิดจากรหัสประเทศ โปรดตรวจสอบว่าคุณใช้รหัสที่มีประเทศ เขตแดนขึ้นอยู่ และพื้นที่พิเศษที่น่าสนใจทางภูมิศาสตร์ที่คุณ ต้องการ คุณดูข้อมูลรหัสได้ที่ Wikipedia: รายการรหัสประเทศ ISO 3166 หรือ แพลตฟอร์มการเรียกดูออนไลน์ของ ISO
  • ภาษา

    ภาษาที่จะแสดงผลลัพธ์

    • ดู รายการภาษาที่รองรับ Google มักจะอัปเดตภาษาที่รองรับอยู่เสมอ ดังนั้นรายการนี้อาจไม่ครอบคลุมทั้งหมด
    • หากไม่ได้ระบุ language API จะพยายามใช้ภาษาที่ต้องการตามที่ระบุไว้ในส่วนหัว Accept-Language
    • API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่ที่อ่านง่ายสำหรับทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมายดังกล่าว ระบบจะแสดงที่อยู่ในภาษาท้องถิ่น โดยแปลงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น ตามภาษาที่ต้องการ ส่วนที่อยู่อื่นๆ จะแสดงในภาษาที่ต้องการ คอมโพเนนต์ของที่อยู่ ทั้งหมดจะแสดงในภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
    • หากชื่อไม่มีในภาษาที่ต้องการ API จะใช้ชื่อที่ใกล้เคียงที่สุด
    • ภาษาที่ต้องการมีผลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผล และลำดับที่แสดงผล Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจ ใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง เช่น utca และ tér เป็นคำพ้องความหมายของถนนในภาษาฮังการี
  • สถานที่

    จุดที่ใช้ดึงข้อมูลสถานที่ ต้องระบุเป็น latitude,longitude นอกจากนี้ คุณต้องระบุพารามิเตอร์ radius เมื่อระบุตำแหน่งด้วย หากไม่ได้ระบุ radius ระบบจะไม่สนใจพารามิเตอร์ location

    เมื่อใช้ Text Search API ระบบอาจลบล้างพารามิเตอร์ `location` หาก `query` มีสถานที่ตั้งที่ชัดเจน เช่น `Market in Barcelona`
  • locationbias

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

    • ความเอนเอียงของ IP: สั่งให้ API ใช้การปรับที่อยู่ IP ส่งสตริง ipbias (ตัวเลือกนี้ไม่มีพารามิเตอร์เพิ่มเติม)
    • Circular: สตริงที่ระบุรัศมีเป็นเมตร รวมถึงละติจูด/ลองจิจูดในรูปแบบทศนิยม องศา โปรดใช้รูปแบบต่อไปนี้ circle:radius@lat,lng
    • สี่เหลี่ยมผืนผ้า: สตริงที่ระบุคู่ละติจูด/ลองจิจูด 2 คู่ในหน่วยองศาทศนิยม ซึ่งแสดงจุดใต้/ตะวันตกและเหนือ/ตะวันออกของสี่เหลี่ยมผืนผ้า ใช้ รูปแบบต่อไปนี้rectangle:south,west|north,east โปรดทราบ ว่าค่าตะวันออก/ตะวันตกจะอยู่ในช่วง -180, 180 และ ค่าเหนือ/ใต้จะอยู่ในช่วง -90, 90
  • locationrestriction

    จำกัดผลการค้นหาให้อยู่ในพื้นที่ที่ระบุโดยการระบุรัศมีและ ละติจูด/ลองจิจูด หรือคู่ละติจูด/ลองจิจูด 2 คู่ที่แสดงจุดของสี่เหลี่ยมผืนผ้า

    • Circular: สตริงที่ระบุรัศมีเป็นเมตร รวมถึงละติจูด/ลองจิจูดในรูปแบบทศนิยม องศา โปรดใช้รูปแบบต่อไปนี้ circle:radius@lat,lng
    • สี่เหลี่ยมผืนผ้า: สตริงที่ระบุคู่ละติจูด/ลองจิจูด 2 คู่ในหน่วยองศาทศนิยม ซึ่งแสดงจุดใต้/ตะวันตกและเหนือ/ตะวันออกของสี่เหลี่ยมผืนผ้า ใช้ รูปแบบต่อไปนี้rectangle:south,west|north,east โปรดทราบ ว่าค่าตะวันออก/ตะวันตกจะอยู่ในช่วง -180, 180 และ ค่าเหนือ/ใต้จะอยู่ในช่วง -90, 90
  • หักลบ

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

  • origin

    จุดต้นทางที่จะใช้คำนวณระยะทางเป็นเส้นตรงไปยัง ปลายทาง (แสดงผลเป็น distance_meters) หากละเว้นค่านี้ ระบบจะไม่แสดงผลระยะทางเป็นเส้นตรง ต้องระบุเป็น latitude,longitude

  • รัศมี

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

    ระบบจะจำกัดรัศมีโดยอัตโนมัติให้มีค่าสูงสุดตาม ประเภทการค้นหาและพารามิเตอร์อื่นๆ

    • เติมข้อความอัตโนมัติ: 50,000 เมตร
    • การค้นหาในบริเวณใกล้เคียง
      • ด้วย keyword หรือ name: 50,000 เมตร
      • ไม่มี keyword หรือ name
        • สูงสุด 50,000 เมตร ปรับแบบไดนามิกตามความหนาแน่นของพื้นที่ โดยไม่ขึ้นอยู่กับพารามิเตอร์ rankby
        • เมื่อใช้ rankby=distance ระบบจะไม่ยอมรับพารามิเตอร์รัศมี และจะส่งผลให้เกิด INVALID_REQUEST
    • การเติมคำค้นหาอัตโนมัติ: 50,000 เมตร
    • การค้นหาข้อความ: 50,000 เมตร
  • ภูมิภาค

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

  • sessiontoken

    สตริงแบบสุ่มที่ระบุ เซสชัน การเติมข้อความอัตโนมัติเพื่อวัตถุประสงค์ในการเรียกเก็บเงิน

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

    เราขอแนะนำให้ทำตามหลักเกณฑ์ต่อไปนี้

    • ใช้โทเค็นเซสชันสำหรับเซสชันการเติมข้อความอัตโนมัติทั้งหมด
    • สร้างโทเค็นใหม่สำหรับแต่ละเซสชัน ขอแนะนำให้ใช้ UUID เวอร์ชัน 4
    • ตรวจสอบว่าคีย์ API ที่ใช้สำหรับคำขอ Place Autocomplete และ Place Details ทั้งหมดภายในเซสชันเป็นของโปรเจ็กต์ Cloud Console เดียวกัน
    • อย่าลืมส่งโทเค็นเซสชันที่ไม่ซ้ำกันสำหรับเซสชันใหม่แต่ละเซสชัน การใช้โทเค็นเดียวกันกับเซสชันมากกว่า 1 เซสชันจะทำให้ระบบเรียกเก็บเงินสำหรับคำขอแต่ละรายการแยกกัน
  • strictbounds

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

  • ประเภท

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

    สถานที่หนึ่งๆ จะมีประเภทหลักเดียวจากประเภทที่ระบุไว้ใน ตารางที่ 1 หรือ ตารางที่ 2 ได้เท่านั้น ตัวอย่างเช่น โรงแรมที่มีบริการอาหารจะแสดงได้เฉพาะกับ types=lodging และไม่แสดงกับ types=restaurant

    สำหรับค่าของพารามิเตอร์ types คุณสามารถระบุอย่างใดอย่างหนึ่งต่อไปนี้

    • ค่าสูงสุด 5 ค่าจาก ตารางที่ 1 หรือ ตารางที่ 2 สำหรับค่าหลายค่า ให้คั่นแต่ละค่าด้วย | (แท่งแนวตั้ง) เช่น

      types=book_store|cafe

    • ตัวกรองที่รองรับรายการเดียวใน ตารางที่ 3 คุณไม่สามารถผสมคอลเล็กชันประเภทต่างๆ

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

ตัวอย่าง Place Autocomplete (เดิม)

คำขอสำหรับสถานประกอบการที่มีสตริง "Amoeba" ภายใน พื้นที่ที่อยู่ใจกลางซานฟรานซิสโก แคลิฟอร์เนีย

URL

https://maps.googleapis.com/maps/api/place/autocomplete/json
      ?input=amoeba
      &types=establishment
      &location=37.76999%2C-122.44696
      &radius=500
      &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&key=YOUR_API_KEY'

คำขอเดียวกันนี้จำกัดเฉพาะผลลัพธ์ภายใน 500 เมตรจาก Ashbury St & Haight St ซานฟรานซิสโก

URL

https://maps.googleapis.com/maps/api/place/autocomplete/json
      ?input=amoeba
      &types=establishment
      &location=37.76999%2C-122.44696&radius=500
      &strictbounds=true
      &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&strictbounds=true&key=YOUR_API_KEY'

คำขอสำหรับที่อยู่ที่มีคำว่า "Vict" พร้อมผลลัพธ์เป็นภาษาฝรั่งเศส

URL

https://maps.googleapis.com/maps/api/place/autocomplete/json
      ?input=Vict
      &types=geocode
      &language=fr
      &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=geocode&language=fr&key=YOUR_API_KEY'

คำขอสำหรับเมืองที่มี "Vict" โดยมีผลลัพธ์เป็นภาษาโปรตุเกสแบบบราซิล

URL

https://maps.googleapis.com/maps/api/place/autocomplete/json
      ?input=Vict
      &types=(cities)
      &language=pt_BR&key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=(cities)&language=pt_BR&key=YOUR_API_KEY'

โปรดทราบว่าคุณจะต้องแทนที่ คีย์ API ในตัวอย่างเหล่านี้ด้วยคีย์ของคุณเอง

การตอบกลับของ Place Autocomplete (เดิม)

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

URL

https://maps.googleapis.com/maps/api/place/autocomplete/json
      ?input=Paris
      &types=geocode
      &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Paris&types=geocode&key=YOUR_API_KEY'

JSON

{
  "predictions":
    [
      {
        "description": "Paris, France",
        "matched_substrings": [{ "length": 5, "offset": 0 }],
        "place_id": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ",
        "reference": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ",
        "structured_formatting":
          {
            "main_text": "Paris",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "France",
          },
        "terms":
          [
            { "offset": 0, "value": "Paris" },
            { "offset": 7, "value": "France" },
          ],
        "types": ["locality", "political", "geocode"],
      },
      {
        "description": "Paris, TX, USA",
        "matched_substrings": [{ "length": 5, "offset": 0 }],
        "place_id": "ChIJmysnFgZYSoYRSfPTL2YJuck",
        "reference": "ChIJmysnFgZYSoYRSfPTL2YJuck",
        "structured_formatting":
          {
            "main_text": "Paris",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "TX, USA",
          },
        "terms":
          [
            { "offset": 0, "value": "Paris" },
            { "offset": 7, "value": "TX" },
            { "offset": 11, "value": "USA" },
          ],
        "types": ["locality", "political", "geocode"],
      },
      {
        "description": "Paris, TN, USA",
        "matched_substrings": [{ "length": 5, "offset": 0 }],
        "place_id": "ChIJ4zHP-Sije4gRBDEsVxunOWg",
        "reference": "ChIJ4zHP-Sije4gRBDEsVxunOWg",
        "structured_formatting":
          {
            "main_text": "Paris",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "TN, USA",
          },
        "terms":
          [
            { "offset": 0, "value": "Paris" },
            { "offset": 7, "value": "TN" },
            { "offset": 11, "value": "USA" },
          ],
        "types": ["locality", "political", "geocode"],
      },
      {
        "description": "Paris, Brant, ON, Canada",
        "matched_substrings": [{ "length": 5, "offset": 0 }],
        "place_id": "ChIJsamfQbVtLIgR-X18G75Hyi0",
        "reference": "ChIJsamfQbVtLIgR-X18G75Hyi0",
        "structured_formatting":
          {
            "main_text": "Paris",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "Brant, ON, Canada",
          },
        "terms":
          [
            { "offset": 0, "value": "Paris" },
            { "offset": 7, "value": "Brant" },
            { "offset": 14, "value": "ON" },
            { "offset": 18, "value": "Canada" },
          ],
        "types": ["neighborhood", "political", "geocode"],
      },
      {
        "description": "Paris, KY, USA",
        "matched_substrings": [{ "length": 5, "offset": 0 }],
        "place_id": "ChIJsU7_xMfKQ4gReI89RJn0-RQ",
        "reference": "ChIJsU7_xMfKQ4gReI89RJn0-RQ",
        "structured_formatting":
          {
            "main_text": "Paris",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "KY, USA",
          },
        "terms":
          [
            { "offset": 0, "value": "Paris" },
            { "offset": 7, "value": "KY" },
            { "offset": 11, "value": "USA" },
          ],
        "types": ["locality", "political", "geocode"],
      },
    ],
  "status": "OK",
}

XML

    
<?xml version="1.0" encoding="UTF-8"?>
<AutocompletionResponse>
 <status>OK</status>
 <prediction>
  <description>Paris, France</description>
  <type>locality</type>
  <type>political</type>
  <type>geocode</type>
  <reference>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</reference>
  <term>
   <value>Paris</value>
   <offset>0</offset>
  </term>
  <term>
   <value>France</value>
   <offset>7</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <place_id>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</place_id>
  <structured_formatting>
   <description>Paris</description>
   <subdescription>France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>Paris, TX, USA</description>
  <type>locality</type>
  <type>political</type>
  <type>geocode</type>
  <reference>ChIJmysnFgZYSoYRSfPTL2YJuck</reference>
  <term>
   <value>Paris</value>
   <offset>0</offset>
  </term>
  <term>
   <value>TX</value>
   <offset>7</offset>
  </term>
  <term>
   <value>USA</value>
   <offset>11</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <place_id>ChIJmysnFgZYSoYRSfPTL2YJuck</place_id>
  <structured_formatting>
   <description>Paris</description>
   <subdescription>TX, USA</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>Paris, TN, USA</description>
  <type>locality</type>
  <type>political</type>
  <type>geocode</type>
  <reference>ChIJ4zHP-Sije4gRBDEsVxunOWg</reference>
  <term>
   <value>Paris</value>
   <offset>0</offset>
  </term>
  <term>
   <value>TN</value>
   <offset>7</offset>
  </term>
  <term>
   <value>USA</value>
   <offset>11</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <place_id>ChIJ4zHP-Sije4gRBDEsVxunOWg</place_id>
  <structured_formatting>
   <description>Paris</description>
   <subdescription>TN, USA</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>Paris, Brant, ON, Canada</description>
  <type>neighborhood</type>
  <type>political</type>
  <type>geocode</type>
  <reference>ChIJsamfQbVtLIgR-X18G75Hyi0</reference>
  <term>
   <value>Paris</value>
   <offset>0</offset>
  </term>
  <term>
   <value>Brant</value>
   <offset>7</offset>
  </term>
  <term>
   <value>ON</value>
   <offset>14</offset>
  </term>
  <term>
   <value>Canada</value>
   <offset>18</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <place_id>ChIJsamfQbVtLIgR-X18G75Hyi0</place_id>
  <structured_formatting>
   <description>Paris</description>
   <subdescription>Brant, ON, Canada</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>Paris, KY, USA</description>
  <type>locality</type>
  <type>political</type>
  <type>geocode</type>
  <reference>ChIJsU7_xMfKQ4gReI89RJn0-RQ</reference>
  <term>
   <value>Paris</value>
   <offset>0</offset>
  </term>
  <term>
   <value>KY</value>
   <offset>7</offset>
  </term>
  <term>
   <value>USA</value>
   <offset>11</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <place_id>ChIJsU7_xMfKQ4gReI89RJn0-RQ</place_id>
  <structured_formatting>
   <description>Paris</description>
   <subdescription>KY, USA</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
  </structured_formatting>
 </prediction>
</AutocompletionResponse>

   

PlacesAutocompleteResponse

ช่อง ต้องระบุ ประเภท คำอธิบาย
ต้องระบุ Array<PlaceAutocompletePrediction>

มีอาร์เรย์ของการคาดการณ์

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompletePrediction

ต้องระบุ PlacesAutocompleteStatus

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

ดูข้อมูลเพิ่มเติมได้ที่ PlacesAutocompleteStatus

ไม่บังคับ สตริง

เมื่อบริการแสดงรหัสสถานะอื่นที่ไม่ใช่ OK< อาจมีฟิลด์ error_message เพิ่มเติมภายในออบเจ็กต์การตอบกลับ ฟิลด์นี้ มีข้อมูลโดยละเอียดเกี่ยวกับสาเหตุที่อยู่เบื้องหลังรหัสสถานะ ที่ระบุ ระบบอาจไม่แสดงช่องนี้เสมอไป และเนื้อหาของช่องอาจมีการเปลี่ยนแปลง

ไม่บังคับ Array<string>

เมื่อบริการแสดงข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดของคำขอ อาจมีinfo_messagesฟิลด์เพิ่มเติมภายในออบเจ็กต์การตอบกลับ ระบบจะแสดงฟิลด์นี้ สําหรับคําขอที่สําเร็จเท่านั้น แอตทริบิวต์นี้อาจไม่แสดงเสมอไปและเนื้อหาอาจมีการเปลี่ยนแปลง

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

การตอบกลับ XML ประกอบด้วยองค์ประกอบ <AutocompletionResponse> รายการเดียวที่มีองค์ประกอบย่อย 2 ประเภท ดังนี้

  • องค์ประกอบ <status> รายการเดียวมีข้อมูลเมตาเกี่ยวกับคำขอ ดูรหัสสถานะด้านล่าง
  • องค์ประกอบ <prediction> ตั้งแต่ 0 รายการขึ้นไป โดยแต่ละรายการมี ข้อมูลเกี่ยวกับสถานที่เดียว ดูข้อมูลเกี่ยวกับผลการค้นหาเหล่านี้ได้ที่ ผลลัพธ์ของ Place Autocomplete (เดิม) Places API จะแสดงผลลัพธ์สูงสุด 5 รายการ

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

PlacesAutocompleteStatus

รหัสสถานะที่บริการส่งกลับ

  • OK ซึ่งหมายความว่าคำขอ API สำเร็จ
  • ZERO_RESULTS ซึ่งหมายความว่าการค้นหาสำเร็จแต่ ไม่พบผลลัพธ์ ปัญหานี้อาจเกิดขึ้นหากการค้นหามีขอบเขตใน สถานที่ตั้งระยะไกล
  • INVALID_REQUEST ซึ่งบ่งชี้ว่าคำขอ API มีรูปแบบไม่ถูกต้อง โดยทั่วไปเกิดจากไม่มีพารามิเตอร์ input
  • OVER_QUERY_LIMIT ที่ระบุข้อมูลต่อไปนี้
    • คุณส่งคำขอเกินขีดจำกัด QPS
    • บัญชีของคุณไม่ได้เปิดใช้การเรียกเก็บเงิน
    • ใช้เครดิต $200 รายเดือนหรือโควต้าการใช้งานที่กำหนดเองเกินแล้ว
    • วิธีการชำระเงินที่ระบุใช้ไม่ได้อีกต่อไป (เช่น บัตรเครดิตหมดอายุ)
    ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีแก้ไขข้อผิดพลาดนี้ได้ที่ คำถามที่พบบ่อยเกี่ยวกับ Maps
  • REQUEST_DENIED ซึ่งระบุว่าคำขอของคุณถูกปฏิเสธ โดยทั่วไปเนื่องจากสาเหตุต่อไปนี้
    • คำขอไม่มีคีย์ API
    • พารามิเตอร์ key ไม่ถูกต้อง
  • UNKNOWN_ERROR แสดงว่าเกิดข้อผิดพลาดที่ไม่รู้จัก

เมื่อบริการ Places แสดงผลลัพธ์ JSON จากการค้นหา ระบบจะวางผลลัพธ์เหล่านั้นไว้ ภายในpredictionsอาร์เรย์ แม้ว่าบริการจะไม่แสดงผลลัพธ์ (เช่น หาก location อยู่ระยะไกล) บริการก็จะยังแสดงผลอาร์เรย์ predictions ที่ว่างเปล่า การตอบกลับ XML ประกอบด้วย องค์ประกอบ <prediction> อย่างน้อย 1 รายการ

PlaceAutocompletePrediction

ช่อง ต้องระบุ ประเภท คำอธิบาย
ต้องระบุ สตริง

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

ต้องระบุ อาร์เรย์<PlaceAutocompleteMatchedSubstring>

รายการสตริงย่อยที่อธิบายตำแหน่งของคำที่ป้อน ในข้อความผลการคาดคะเน เพื่อให้ระบบไฮไลต์คำได้ หากเลือก

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompleteMatchedSubstring

ต้องระบุ PlaceAutocompleteStructuredFormat

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

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompleteStructuredFormat

ต้องระบุ อาร์เรย์<PlaceAutocompleteTerm>

มีอาร์เรย์ของคำที่ระบุแต่ละส่วนของคำอธิบายที่ส่งคืน (โดยทั่วไปแล้วส่วนของคำอธิบายจะสิ้นสุดด้วยเครื่องหมายคอมมา) แต่ละรายการในอาร์เรย์มีฟิลด์ value ซึ่งมีข้อความของคำ และฟิลด์ offset ซึ่งกำหนดตำแหน่งเริ่มต้นของคำนี้ ในคำอธิบาย โดยวัดเป็นอักขระ Unicode

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompleteTerm

ไม่บังคับ จำนวนเต็ม

ระยะทางเป็นเส้นตรงจากต้นทางเป็นเมตร ระบบจะแสดงฟิลด์นี้ เฉพาะคำขอที่ทำด้วย origin เท่านั้น

ไม่บังคับ สตริง

ตัวระบุที่เป็นข้อความซึ่งระบุสถานที่ที่ไม่ซ้ำกัน หากต้องการดึงข้อมูลเกี่ยวกับสถานที่ ให้ส่งตัวระบุนี้ในฟิลด์ placeId ของคำขอ Places API ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานที่ได้ที่ภาพรวมรหัสสถานที่

ไม่บังคับ สตริง

ดู place_id

ไม่บังคับ Array<string>

มีอาร์เรย์ของประเภทที่ใช้กับสถานที่นี้ เช่น [ "political", "locality" ] หรือ [ "establishment", "geocode", "beauty_salon" ] อาร์เรย์ อาจมีค่าหลายค่า ดูข้อมูลเพิ่มเติมเกี่ยวกับ ประเภทสถานที่

PlaceAutocompleteMatchedSubstring

ช่อง ต้องระบุ ประเภท คำอธิบาย
ต้องระบุ ตัวเลข

ความยาวของสตริงย่อยที่ตรงกันในข้อความผลการคาดการณ์

ต้องระบุ ตัวเลข

ตำแหน่งเริ่มต้นของสตริงย่อยที่ตรงกันในข้อความผลการคาดคะเน

PlaceAutocompleteStructuredFormat

ช่อง ต้องระบุ ประเภท คำอธิบาย
ต้องระบุ สตริง

มีข้อความหลักของการคาดคะเน ซึ่งมักจะเป็นชื่อของ สถานที่

ต้องระบุ อาร์เรย์<PlaceAutocompleteMatchedSubstring>

มีอาร์เรย์ที่มีค่า offset และ length ซึ่งอธิบายตำแหน่งของคำที่ป้อน ในข้อความผลการคาดคะเน เพื่อให้ไฮไลต์คำได้ หากเลือก

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompleteMatchedSubstring

ไม่บังคับ สตริง

มีข้อความรองของการคาดคะเน ซึ่งมักจะเป็นสถานที่ตั้งของ สถานที่

ไม่บังคับ อาร์เรย์<PlaceAutocompleteMatchedSubstring>

มีอาร์เรย์ที่มีค่า offset และ length ซึ่งอธิบายตำแหน่งของคำที่ป้อน ในข้อความผลการคาดคะเน เพื่อให้ไฮไลต์คำได้ หากเลือก

ดูข้อมูลเพิ่มเติมได้ที่ PlaceAutocompleteMatchedSubstring

PlaceAutocompleteTerm

ช่อง ต้องระบุ ประเภท คำอธิบาย
ต้องระบุ ตัวเลข

กำหนดตำแหน่งเริ่มต้นของคำนี้ในคำอธิบาย โดยวัดเป็นอักขระ Unicode

ต้องระบุ สตริง

ข้อความของคำ

การเพิ่มประสิทธิภาพ Place Autocomplete (เดิม)

ส่วนนี้อธิบายแนวทางปฏิบัติแนะนำที่จะช่วยให้คุณใช้ประโยชน์จากบริการ Place Autocomplete (เดิม) ได้อย่างเต็มที่

หลักเกณฑ์ทั่วไปมีดังนี้

  • วิธีที่เร็วที่สุดในการพัฒนาอินเทอร์เฟซผู้ใช้ที่ใช้งานได้คือการใช้ Maps JavaScript API วิดเจ็ต Place Autocomplete (เดิม) Places SDK สำหรับ Android วิดเจ็ต Place Autocomplete (เดิม) หรือ Places SDK สำหรับ iOS ตัวควบคุม UI Place Autocomplete (เดิม)
  • ทำความเข้าใจฟิลด์ข้อมูลที่จำเป็นของ Place Autocomplete (เดิม) ตั้งแต่เริ่มต้น
  • ฟิลด์การเอนเอียงตามสถานที่ตั้งและข้อจำกัดด้านสถานที่ตั้งเป็นฟิลด์ที่ไม่บังคับ แต่ก็อาจ ส่งผลต่อประสิทธิภาพการเติมข้อความอัตโนมัติอย่างมาก
  • ใช้การจัดการข้อผิดพลาดเพื่อให้แน่ใจว่าแอปจะลดประสิทธิภาพลงอย่างราบรื่น หาก API แสดงข้อผิดพลาด
  • ตรวจสอบว่าแอปของคุณจัดการเมื่อไม่มีการเลือกและเสนอวิธีให้ผู้ใช้ ดำเนินการต่อ

แนวทางปฏิบัติแนะนำในการเพิ่มประสิทธิภาพต้นทุน

การเพิ่มประสิทธิภาพต้นทุนขั้นพื้นฐาน

หากต้องการเพิ่มประสิทธิภาพค่าใช้จ่ายในการใช้บริการ Place Autocomplete (เดิม) ให้ใช้มาสก์ฟิลด์ในวิดเจ็ตรายละเอียดสถานที่ (เดิม) และ Place Autocomplete (เดิม) เพื่อแสดงเฉพาะ ฟิลด์ข้อมูล Place Autocomplete (เดิม) ที่คุณต้องการ

การเพิ่มประสิทธิภาพต้นทุนขั้นสูง

พิจารณาการติดตั้งใช้งาน Place Autocomplete (เดิม) แบบเป็นโปรแกรมเพื่อเข้าถึง SKU: Autocomplete - การกำหนดราคาต่อคำขอ และขอผลลัพธ์ Geocoding API เกี่ยวกับสถานที่ที่เลือกแทนรายละเอียดสถานที่ (เดิม) การกำหนดราคาต่อคำขอที่ใช้ร่วมกับ Geocoding API จะคุ้มค่ากว่าการกำหนดราคาต่อเซสชัน (อิงตามเซสชัน) หากเป็นไปตามเงื่อนไขต่อไปนี้ทั้ง 2 ข้อ

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

แอปพลิเคชันของคุณต้องใช้ข้อมูลอื่นนอกเหนือจากที่อยู่และละติจูด/ลองจิจูดของการคาดคะเนที่เลือกไหม

ใช่ ต้องระบุรายละเอียดเพิ่มเติม

ใช้ Place Autocomplete ตามเซสชัน (เดิม) กับรายละเอียดสถานที่ (เดิม)
เนื่องจากแอปพลิเคชันของคุณต้องใช้รายละเอียดสถานที่ (เดิม) เช่น ชื่อสถานที่ สถานะธุรกิจ หรือเวลาทําการ การติดตั้งใช้งาน Place Autocomplete (เดิม) จึงควรใช้โทเค็นของเซสชัน (แบบเป็นโปรแกรมหรือสร้างไว้ใน วิดเจ็ต JavaScript, Android หรือ iOS ) ต่อเซสชัน รวมถึง SKU ข้อมูลสถานที่ที่เกี่ยวข้อง ขึ้นอยู่กับฟิลด์ข้อมูลสถานที่ที่คุณขอ1

การติดตั้งใช้งานวิดเจ็ต
ระบบจะสร้างการจัดการเซสชันลงใน JavaScript, Android, หรือ iOS โดยอัตโนมัติ ซึ่งรวมถึงทั้งคำขอ Place Autocomplete (เดิม) และคำขอรายละเอียดสถานที่ (เดิม) ในการคาดคะเนที่เลือก อย่าลืมระบุพารามิเตอร์ fields เพื่อให้มั่นใจว่าคุณขอเฉพาะฟิลด์ข้อมูล Place Autocomplete (เดิม) ที่คุณต้องการ

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

  1. รหัสสถานที่จากการตอบกลับของ Place Autocomplete (เดิม)
  2. โทเค็นของเซสชันที่ใช้ในคำขอ Place Autocomplete (เดิม)
  3. พารามิเตอร์ fields ที่ระบุ ฟิลด์ข้อมูลของ Place Autocomplete (เดิม) ที่คุณต้องการ

ไม่ ต้องใช้แค่ที่อยู่และสถานที่

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

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

โดยเฉลี่ยแล้ว ผู้ใช้เลือกการคาดคะเน Place Autocomplete (เดิม) ในคำขอน้อยกว่า 5 รายการใช่ไหม

ใช่

ใช้ Place Autocomplete (เดิม) แบบเป็นโปรแกรมโดยไม่มีโทเค็นเซสชัน และเรียกใช้ Geocoding API ในการคาดคะเนสถานที่ที่เลือก
Geocoding API จะแสดงที่อยู่และพิกัดละติจูด/ลองจิจูด การส่งคำขอ 4 รายการ Autocomplete - ต่อคำขอ รวมถึงการเรียกใช้ Geocoding API เกี่ยวกับคำทำนายสถานที่ที่เลือกมีค่าใช้จ่ายต่อเซสชันน้อยกว่า Place Autocomplete (เดิม) ต่อเซสชัน1

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

ไม่

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

การติดตั้งใช้งานวิดเจ็ต
ระบบจะสร้างการจัดการเซสชันลงใน วิดเจ็ต JavaScript, Android หรือ iOS โดยอัตโนมัติ ซึ่งรวมทั้งคำขอ Place Autocomplete (เดิม) และคำขอรายละเอียดสถานที่ (เดิม) ในการคาดคะเนที่เลือก อย่าลืมระบุพารามิเตอร์ fields เพื่อให้มั่นใจว่าคุณขอเฉพาะช่องที่ต้องการเท่านั้น

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

  1. รหัสสถานที่จากการตอบกลับของ Place Autocomplete (เดิม)
  2. โทเค็นของเซสชันที่ใช้ในคำขอ Place Autocomplete (เดิม)
  3. พารามิเตอร์ fields ที่ระบุ ฟิลด์ข้อมูลพื้นฐาน เช่น ที่อยู่และเรขาคณิต

พิจารณาหน่วงเวลาคำขอ Place Autocomplete (เดิม)
คุณสามารถใช้กลยุทธ์ต่างๆ เช่น การหน่วงเวลาคำขอ Place Autocomplete (เดิม) จนกว่าผู้ใช้จะพิมพ์อักขระ 3-4 ตัวแรก เพื่อให้แอปพลิเคชันของคุณส่งคำขอน้อยลง เช่น การส่งคำขอ Place Autocomplete (เดิม) สำหรับอักขระแต่ละตัวหลังจากที่ผู้ใช้พิมพ์อักขระตัวที่ 3 หมายความว่าหากผู้ใช้พิมพ์อักขระ 7 ตัวแล้วเลือกการคาดคะเนที่คุณส่งคำขอ Geocoding API 1 รายการ ค่าใช้จ่ายทั้งหมดจะเป็นค่าใช้จ่ายสำหรับ Place Autocomplete (เดิม) 4 รายการต่อคำขอ + Geocoding1

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

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


  1. ดูค่าใช้จ่ายได้ที่รายการราคาของ Google Maps Platform

แนวทางปฏิบัติแนะนำด้านประสิทธิภาพ

หลักเกณฑ์ต่อไปนี้อธิบายวิธีเพิ่มประสิทธิภาพ Place Autocomplete (เดิม)

  • เพิ่มข้อจำกัดในแต่ละประเทศ การเอนเอียงตำแหน่ง และ (สำหรับการติดตั้งใช้งานแบบเป็นโปรแกรม) ค่ากำหนดภาษาลงในการติดตั้งใช้งาน Place Autocomplete (เดิม) ไม่จำเป็นต้องระบุค่ากำหนดภาษา ในวิดเจ็ต เนื่องจากวิดเจ็ตจะเลือกค่ากำหนดภาษาจากเบราว์เซอร์หรืออุปกรณ์เคลื่อนที่ของผู้ใช้
  • หาก Place Autocomplete (เดิม) มาพร้อมกับแผนที่ คุณสามารถกำหนดตำแหน่งตามวิวพอร์ตของแผนที่ได้
  • ในกรณีที่ผู้ใช้ไม่เลือกการคาดคะเนจาก Place Autocomplete (เดิม) โดยทั่วไป เนื่องจากไม่มีการคาดคะเนใดๆ ที่เป็นผลลัพธ์-ที่อยู่ที่ต้องการ คุณสามารถนำข้อมูลจากผู้ใช้เดิมมาใช้ซ้ำเพื่อพยายามรับผลลัพธ์ที่เกี่ยวข้องมากขึ้นได้โดยทำดังนี้
    • หากคาดว่าผู้ใช้จะป้อนเฉพาะข้อมูลที่อยู่ ให้ใช้ข้อมูลจากผู้ใช้เดิมซ้ำ ในการเรียก Geocoding API
    • หากคาดว่าผู้ใช้จะป้อนคำค้นหาสถานที่ที่เฉพาะเจาะจงตามชื่อหรือที่อยู่ ให้ใช้คำขอรายละเอียดสถานที่ (เดิม) หากคาดหวังผลลัพธ์ในภูมิภาคที่เฉพาะเจาะจงเท่านั้น ให้ใช้การเอนเอียงตามตำแหน่ง
    สถานการณ์อื่นๆ ที่ควรเปลี่ยนไปใช้ Geocoding API ได้แก่
    • ผู้ใช้ที่ป้อนที่อยู่ของสถานที่ย่อย เช่น ที่อยู่ของยูนิตหรืออพาร์ตเมนต์ที่เฉพาะเจาะจง ภายในอาคาร เช่น ที่อยู่ "Stroupežnického 3191/17, Praha" ในเช็ก จะให้การคาดคะเนบางส่วนใน Place Autocomplete (เดิม)
    • ผู้ใช้ที่ป้อนที่อยู่ที่มีคำนำหน้าส่วนของถนน เช่น "23-30 29th St, Queens" ใน นิวยอร์กซิตี้ หรือ "47-380 Kamehameha Hwy, Kaneohe" บนเกาะคาไวในฮาวาย

การให้น้ำหนักพิเศษกับบางตำแหน่ง

เอนเอียงผลลัพธ์ไปยังพื้นที่ที่ระบุโดยส่งพารามิเตอร์ location และพารามิเตอร์ radius ซึ่งจะสั่งให้ Place Autocomplete (เดิม) แสดงผลลัพธ์ภายในพื้นที่ที่กำหนด ระบบอาจยังแสดงผลลัพธ์ที่อยู่นอกพื้นที่ที่กำหนด คุณใช้พารามิเตอร์ includedRegionCodes เพื่อกรองผลลัพธ์ ให้แสดงเฉพาะสถานที่ภายในประเทศที่ระบุได้

การจำกัดตำแหน่ง

จำกัดผลลัพธ์ให้อยู่ในพื้นที่ที่ระบุโดยส่งพารามิเตอร์ locationRestriction

นอกจากนี้ คุณยังจำกัดผลลัพธ์ให้แสดงเฉพาะภูมิภาคที่กำหนดโดย location และพารามิเตอร์ radius ได้ด้วยโดยการเพิ่มพารามิเตอร์ strictbounds ซึ่งจะสั่งให้ Place Autocomplete (เดิม) แสดงผลลัพธ์เฉพาะ ภายในภูมิภาคนั้น