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

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

คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่างบริการ Places เวอร์ชันเดิมกับคลาส 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 การตอบกลับ ใช้ Promise และทำงานแบบไม่พร้อมกัน
วิธีการต้องมีการPlacesServiceStatusตรวจสอบ ไม่ต้องตรวจสอบสถานะที่จำเป็น ใช้การจัดการข้อผิดพลาดมาตรฐานได้
ฟิลด์ข้อมูลสถานที่จะจัดรูปแบบโดยใช้รูปแบบ Snake Case ฟิลด์ข้อมูลสถานที่จะจัดรูปแบบโดยใช้ Camel Case
จำกัดไว้เฉพาะชุดประเภทสถานที่ และฟิลด์ข้อมูลสถานที่ที่กำหนด มีประเภทสถานที่ และฟิลด์ข้อมูลสถานที่ให้เลือกมากขึ้น ซึ่งจะอัปเดตเป็นประจำ

การเปลี่ยนแปลงเฉพาะ API

คลาส Place มี API สำหรับใช้ไลบรารี Places และรองรับรูปแบบการใช้งานที่ทันสมัย เช่น Promises คลาส Place จะแสดงฟิลด์ข้อมูลสถานที่และประเภทสถานที่เดียวกันกับบริการ Places เวอร์ชันเดิม รวมถึงมีค่าใหม่ๆ มากมายสำหรับฟิลด์ข้อมูลสถานที่และประเภทสถานที่

ตารางนี้แสดงวิธีแมปฟีเจอร์ของบริการ Places กับฟีเจอร์ของคลาส Place

บริการ Places (เดิม) คลาสสถานที่ (ใหม่)
ฟิลด์ข้อมูลสถานที่ วางฟิลด์ข้อมูลชั้นเรียน
ประเภทสถานที่ ประเภทสถานที่
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 เวอร์ชันล่าสุด