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

คู่มือนี้จะไฮไลต์ความแตกต่างที่สำคัญระหว่างบริการสถานที่แบบเดิมกับคลาสสถานที่แบบใหม่ การอัปเกรดเป็นคลาสสถานที่มีข้อดีที่สำคัญมากมาย ซึ่งรวมถึงประสิทธิภาพที่ดีขึ้นและรูปแบบการกำหนดราคาใหม่ หากต้องการใช้ Places ให้ได้ประโยชน์สูงสุดและตรวจสอบว่าแอปเป็นเวอร์ชันล่าสุด โปรดทำความคุ้นเคยกับการเปลี่ยนแปลงที่ระบุไว้ในคู่มือนี้

เปิดใช้ Places API

คลาสสถานที่ใช้บริการ Places API หากต้องการใช้ฟีเจอร์ของคลาสสถานที่แบบใหม่ คุณต้องเปิดใช้ Places API (ใหม่) ในโปรเจ็กต์ Google Cloud ก่อน ดูข้อมูลเพิ่มเติมได้ที่เริ่มต้นใช้งาน

การเปลี่ยนแปลงทั่วไป

ตารางต่อไปนี้แสดงความแตกต่างหลักๆ ระหว่าง PlacesService กับ Place

PlacesService (เดิม) Place (ใหม่)
เมธอดต้องใช้การเรียกกลับเพื่อจัดการออบเจ็กต์ผลลัพธ์และgoogle.maps.places.PlacesServiceStatusการตอบกลับ ใช้ Promises และทํางานแบบไม่พร้อมกัน
วิธีการต้องเลือกPlacesServiceStatus ไม่ต้องมีการตรวจสอบสถานะ สามารถใช้การจัดการข้อผิดพลาดมาตรฐานได้
ฟิลด์ข้อมูลสถานที่มีการจัดรูปแบบโดยใช้รูปแบบ Snake Case ฟิลด์ข้อมูลสถานที่มีการจัดรูปแบบโดยใช้รูปแบบ Camel Case
จำกัดไว้ที่ชุดประเภทสถานที่และช่องข้อมูลสถานที่ที่กำหนดไว้ มีตัวเลือกประเภทสถานที่และฟิลด์ข้อมูลสถานที่ที่อัปเดตเป็นประจำเพิ่มเติม

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

คลาสสถานที่มี API สําหรับการใช้ไลบรารีสถานที่ และรองรับรูปแบบการใช้งานสมัยใหม่ เช่น Promise คลาสสถานที่จะแสดงช่องข้อมูลสถานที่และประเภทสถานที่เดียวกันกับบริการสถานที่เดิม รวมถึงมีค่าใหม่มากมายสําหรับช่องข้อมูลสถานที่และประเภทสถานที่

ตารางนี้แสดงวิธีที่ฟีเจอร์ของบริการสถานที่ทำงานร่วมกับฟีเจอร์ของคลาสสถานที่

บริการ 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 จะขึ้นอยู่กับโปรแกรมโหลด 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 เวอร์ชันล่าสุด