ภาพรวมการย้ายข้อมูล

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

คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่าง 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 Service (เดิม) คลาส Place (ใหม่)
ฟิลด์ข้อมูลสถานที่ ฟิลด์ข้อมูลคลาส Place
ประเภทสถานที่ ประเภทสถานที่
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Autocomplete ชั้นเรียน PlaceAutocompleteElement ชั้นเรียน
SearchBox ชั้นเรียน ---

โหลดไลบรารี 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 เวอร์ชันล่าสุด