คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่างบริการ Places เดิมกับคลาส Place ใหม่ การอัปเกรดเป็นคลาส Place มีข้อดีที่สำคัญ ซึ่งรวมถึงประสิทธิภาพที่ดีขึ้นและรูปแบบการกำหนดราคาใหม่ โปรดทำความคุ้นเคยกับการเปลี่ยนแปลงที่ระบุไว้ในคู่มือนี้เพื่อให้ใช้ Places ได้อย่างเต็มประสิทธิภาพและมั่นใจได้ว่าแอปของคุณเป็นเวอร์ชันล่าสุด
แนวทางปฏิบัติแนะนำสำหรับการเรียกเก็บเงินในการย้ายข้อมูล
คำแนะนำนี้จะมีผลหากการใช้งาน API ของคุณสูงพอที่จะเปลี่ยนไปใช้การกำหนดราคาระดับที่ 2 เมื่อย้ายข้อมูลไปยัง API เวอร์ชันใหม่ ระบบจะเรียกเก็บเงินจากคุณสำหรับ SKU อื่นด้วย เพื่อหลีกเลี่ยงค่าใช้จ่ายที่เพิ่มขึ้นในเดือนที่เปลี่ยนผ่าน เราขอแนะนำให้เปลี่ยนไปใช้ API ใหม่ในเวอร์ชันที่ใช้งานจริงในช่วงต้นเดือนให้มากที่สุด ซึ่งจะช่วยให้คุณได้รับระดับราคาต่อเดือนที่คุ้มค่าที่สุดในระหว่างเดือนที่ย้ายข้อมูล ดูข้อมูลเกี่ยวกับระดับราคาได้ที่หน้าราคาและคำถามที่พบบ่อยเกี่ยวกับราคา
เปิดใช้ Places API
คลาส Place อาศัยบริการ Places API หากต้องการใช้ฟีเจอร์ของคลาส Place ใหม่ คุณต้องเปิดใช้ Places API (ใหม่) ในโปรเจ็กต์ Google Cloud ก่อน ดูข้อมูลเพิ่มเติมได้ที่เริ่มต้นใช้งาน
การเปลี่ยนแปลงทั่วไป
ตารางต่อไปนี้แสดงความแตกต่างหลักๆ บางประการระหว่าง PlacesService กับ Place
PlacesService (เดิม) |
Place (ใหม่) |
|---|---|
เมธอดต้องใช้ Callback เพื่อจัดการออบเจ็กต์ผลลัพธ์และการตอบกลับ google.maps.places.PlacesServiceStatus |
ใช้ Promises และทำงานแบบอะซิงโครนัส |
วิธีการต้องมีการตรวจสอบ PlacesServiceStatus |
ไม่จำเป็นต้องตรวจสอบสถานะ สามารถใช้การจัดการข้อผิดพลาดมาตรฐานได้ |
| ฟิลด์ข้อมูลสถานที่จะจัดรูปแบบโดยใช้ Snake Case | ฟิลด์ข้อมูลสถานที่จะจัดรูปแบบโดยใช้การเขียนแบบ Camel Case |
| จำกัดเฉพาะชุดประเภทสถานที่และฟิลด์ข้อมูลสถานที่ที่กำหนดไว้ | มีประเภทสถานที่และฟิลด์ข้อมูลสถานที่ที่อัปเดตเป็นประจำให้เลือกมากขึ้น |
การเปลี่ยนแปลงเฉพาะ API
คลาส Place มี API สำหรับใช้ไลบรารี Places และรองรับรูปแบบการใช้งานสมัยใหม่ เช่น Promise คลาส Place จะแสดงฟิลด์ข้อมูลสถานที่และประเภทสถานที่เหมือนกับบริการ Places เดิม และมีค่าใหม่ๆ มากมายสำหรับฟิลด์ข้อมูลสถานที่และประเภทสถานที่
ตารางนี้แสดงวิธีที่ฟีเจอร์ของ Places Service แมปกับฟีเจอร์ของคลาส Place
โหลดไลบรารี Places
วิธีที่แอปโหลดไลบรารี Places จะขึ้นอยู่กับตัวโหลด Bootstrap ที่ใช้ หากแอปใช้การนําเข้าไลบรารีแบบไดนามิก คุณสามารถโหลดไลบรารีที่จําเป็นขณะรันไทม์ได้โดยใช้โอเปอเรเตอร์ await เพื่อเรียกใช้ importLibrary() ดังที่แสดงที่นี่
const { Place } = await google.maps.importLibrary("places");
หากแอปใช้แท็กการโหลดสคริปต์โดยตรง ให้ขอไลบรารี places ในสคริปต์ตัวโหลด ดังนี้
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลด Maps JavaScript API
ส่วนนี้ประกอบด้วยคำแนะนำต่อไปนี้เพื่อช่วยคุณย้ายข้อมูลแอปเพื่อใช้ Places API เวอร์ชันใหม่ล่าสุด
- ย้ายข้อมูลไปยังรายละเอียดสถานที่
- ย้ายข้อมูลไปยังการค้นหาข้อความ (ใหม่)
- ย้ายข้อมูลไปยังการค้นหาในบริเวณใกล้เคียง (ใหม่)
- ย้ายข้อมูลไปยัง Place Photos
- ย้ายข้อมูลไปยังรีวิวสถานที่
- ย้ายข้อมูลไปยัง Place Autocomplete