คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่าง Places Service เดิมกับคลาส Place ใหม่ การอัปเกรดเป็นคลาส Place มีข้อดีมากมาย เช่น ประสิทธิภาพที่ดีขึ้นและโมเดลการกำหนดราคาใหม่ โปรดทำความคุ้นเคยกับการเปลี่ยนแปลงที่ระบุไว้ในคู่มือนี้เพื่อให้ได้รับประโยชน์สูงสุดจาก Places และตรวจสอบว่าแอปของคุณเป็นเวอร์ชันล่าสุด
แนวทางปฏิบัติแนะนำสำหรับการเรียกเก็บเงินสำหรับการย้ายข้อมูล
คำแนะนำนี้จะมีผลบังคับใช้หากการใช้งาน API ของคุณสูงพอที่จะย้ายไปใช้การกำหนดราคาแบบระดับที่ 2 เมื่อย้ายข้อมูลไปยัง API เวอร์ชันใหม่ คุณจะถูกเรียกเก็บเงินสำหรับ SKU อื่นด้วย เราขอแนะนำให้เปลี่ยนไปใช้ API ใหม่ในเวอร์ชันที่ใช้งานจริงให้เร็วที่สุดเท่าที่จะเป็นไปได้ในช่วงต้นเดือนของการเปลี่ยนผ่าน เพื่อหลีกเลี่ยงค่าใช้จ่ายที่เพิ่มขึ้นในระหว่างเดือนดังกล่าว ซึ่งจะช่วยให้คุณเข้าถึงระดับราคาแบบรายเดือนที่คุ้มค่าที่สุดในเดือนที่ย้ายข้อมูล ดูข้อมูลเกี่ยวกับระดับราคาได้ที่ ดูที่ หน้าการกำหนดราคา และ คำถามที่พบบ่อยเกี่ยวกับการกำหนดราคา
เปิดใช้ Places API
คลาส Place อาศัยบริการ Places API หากต้องการใช้ฟีเจอร์ของคลาส Place ใหม่ คุณต้องเปิดใช้ Places API (ใหม่) ในโปรเจ็กต์ Google Cloud ก่อน ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อเริ่มต้นใช้งาน
การเปลี่ยนแปลงทั่วไป
ตารางต่อไปนี้แสดงความแตกต่างหลักๆ บางประการระหว่าง PlacesService
กับ Place
PlacesService (เดิม) |
Place (ใหม่) |
|---|---|
เมธอดกำหนดให้ใช้ฟังก์ชันเรียกกลับเพื่อจัดการออบเจ็กต์ผลลัพธ์และ
google.maps.places.PlacesServiceStatus การตอบกลับ |
ใช้ Promises และทำงานแบบไม่พร้อมกัน |
เมธอดกำหนดให้มีการตรวจสอบ PlacesServiceStatus |
ไม่จำเป็นต้องตรวจสอบสถานะ สามารถใช้การจัดการข้อผิดพลาดมาตรฐานได้ |
| ฟิลด์ข้อมูลสถานที่จัดรูปแบบโดยใช้ Snake Case | ฟิลด์ข้อมูลสถานที่จัดรูปแบบโดยใช้ Camel Case |
| จำกัดไว้เฉพาะชุดประเภทสถานที่ และฟิลด์ข้อมูลสถานที่ที่กำหนด | มีตัวเลือกประเภทสถานที่ และฟิลด์ข้อมูลสถานที่ที่อัปเดตเป็นประจำให้เลือกมากขึ้น |
การเปลี่ยนแปลงเฉพาะ API
คลาส Place มี API สำหรับใช้ไลบรารี Places และรองรับรูปแบบการใช้งานที่ทันสมัย เช่น Promises คลาส Place แสดงฟิลด์ข้อมูลสถานที่และประเภทสถานที่เดียวกันกับ Places Service เดิม และมีค่าใหม่ๆ มากมายสำหรับฟิลด์ข้อมูลสถานที่และประเภทสถานที่
ตารางนี้แสดงวิธีที่ฟีเจอร์ของ Places Service แมปกับฟีเจอร์ของคลาส Place
โหลดไลบรารี Places
วิธีที่แอปโหลดไลบรารี Places จะขึ้นอยู่กับตัวโหลด Bootstrap ที่ใช้งาน หากแอปใช้ การนำเข้าไลบรารีแบบไดนามิก
คุณสามารถโหลดไลบรารีที่จำเป็นได้ในรันไทม์โดยใช้โอเปอเรเตอร์ await เพื่อ
เรียก importLibrary() ดังที่แสดงไว้ที่นี่
const { Place } = await google.maps.importLibrary("places");
หากแอปใช้แท็กการโหลดสคริปต์โดยตรง direct script loading tag
ให้ขอไลบรารี 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