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

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

คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่างบริการ 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 Service (เดิม) คลาสของสถานที่ (ใหม่)
ฟิลด์ข้อมูลสถานที่ ฟิลด์ข้อมูลคลาสของสถานที่
ประเภทสถานที่ ประเภทสถานที่
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");

หากแอปใช้แท็กการโหลดสคริปต์โดยตรง ให้ขอไลบรารี 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 เวอร์ชันใหม่ล่าสุด