คุณสามารถใช้ Places Service และ Geocoding API กับ Maps SDK สำหรับ Android เพื่อค้นหาภูมิภาคและดูข้อมูลเพิ่มเติมเกี่ยวกับสถานที่ Places Service และ Geocoding API เป็นทางเลือกที่มีประสิทธิภาพและเสถียรสำหรับการรับรหัสสถานที่ หากใช้รหัสสถานที่อยู่แล้ว คุณสามารถนำรหัสเหล่านั้นกลับมาใช้ซ้ำกับการจัดรูปแบบตามข้อมูลสำหรับขอบเขตได้
เพิ่ม Places Service และ Geocoding ลงในแอป Maps SDK สำหรับ Android ได้ด้วยวิธีต่อไปนี้
- Places SDK สำหรับ Android เป็นไลบรารี Android ที่มีเมธอดในการแสดงผลข้อมูลเกี่ยวกับ สถานที่
- Places API แสดงผลข้อมูลเกี่ยวกับสถานที่โดยใช้คำขอ HTTP
- คลาส Geocoder สามารถเข้ารหัสพิกัดภูมิศาสตร์และเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับแบบไดนามิกจากข้อมูลที่ผู้ใช้ป้อน
- Geocoding API ช่วยให้คุณ เข้ารหัสพิกัดภูมิศาสตร์ของที่อยู่ที่ทราบและคงที่ได้
ใช้ Places Service
ใช้ การค้นหาข้อความ (ใหม่) เพื่อค้นหารหัสสถานที่
คุณสามารถใช้ การค้นหาข้อความ (ใหม่) REST API ใน Places API เพื่อรับรหัสสถานที่ที่มีข้อมูลภูมิภาค โดยระบุ places.id ในมาสก์ของฟิลด์ การใช้การค้นหาข้อความ (ใหม่) เพื่อขอรหัสสถานที่เท่านั้นจะไม่มีค่าใช้จ่าย ดูข้อมูลเพิ่มเติม
ตัวอย่างเช่น หากต้องการรับรหัสสถานที่ของทรินิแดด รัฐแคลิฟอร์เนีย คุณสามารถเรียก API ดังนี้
curl -X POST -d '{
"textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'ใช้การเติมข้อความอัตโนมัติของสถานที่เพื่อค้นหาภูมิภาค
บริการการเติมข้อความอัตโนมัติของสถานที่ใน Places SDK สำหรับ Android เป็นวิธีที่สะดวกในการให้ผู้ใช้ค้นหาภูมิภาค หากต้องการกำหนดค่าบริการการเติมข้อความอัตโนมัติของสถานที่ให้
แสดงผลเฉพาะภูมิภาค ให้ใช้
AutocompleteSupportFragment.setTypesFilter(List)
เพื่อตั้งค่าตัวกรองประเภทเป็น PlaceTypes.REGIONS
ดูรายละเอียดสถานที่สำหรับภูมิภาค
บริการรายละเอียดสถานที่ ใน Places SDK สำหรับ Android จะแสดงผลข้อมูลสำหรับภูมิภาค ซึ่งมี ประโยชน์อย่างมาก ตัวอย่างเช่น คุณสามารถทำสิ่งต่อไปนี้ได้
- ค้นหารหัสสถานที่ขอบเขตตามชื่อสถานที่
- รับวิวพอร์ตสำหรับการซูมไปยังขอบเขต
- รับประเภทฟีเจอร์สำหรับขอบเขต (เช่น
locality) - รับที่อยู่ที่จัดรูปแบบแล้ว ซึ่งจะแสดงผลเป็น "ชื่อสถานที่ รัฐ ประเทศ" ในภูมิภาคสหรัฐอเมริกา (เช่น "Ottumwa, IA, USA")
- รับข้อมูลที่เป็นประโยชน์อื่นๆ เช่น รูปภาพ
ใช้ Geocoding API
Geocoding API ช่วยให้คุณแปลง ที่อยู่เป็นพิกัดละติจูดและลองจิจูด รวมถึงรหัสสถานที่ หรือแปลง พิกัดละติจูดและลองจิจูดหรือรหัสสถานที่เป็นที่อยู่ได้ การใช้งานต่อไปนี้จะทำงานร่วมกับการจัดรูปแบบตามข้อมูลสำหรับขอบเขตได้เป็นอย่างดี
- ใช้ Geocoding เพื่อรับวิวพอร์ตสำหรับภูมิภาค
- ใช้การกรองคอมโพเนนต์กับการเรียก Geocoding เพื่อรับรหัสสถานที่สำหรับพื้นที่การปกครองระดับ 1-4, ท้องถิ่น หรือรหัสไปรษณีย์
- ใช้การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับเพื่อค้นหารหัสสถานที่ตามพิกัดละติจูดและลองจิจูด หรือแม้แต่แสดงผลรหัสสถานที่สำหรับคอมโพเนนต์ทั้งหมดในสถานที่ที่เฉพาะเจาะจง
ตัวอย่างต่อไปนี้ใช้ที่อยู่ (ที่หลีกหนี URL) เพื่อส่งคำขอไปยัง Geocoding API
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYคุณสามารถใช้การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ เพื่อค้นหารหัสสถานที่ได้ ฟังก์ชันบริการ Geocoding ตัวอย่างต่อไปนี้จะแสดงผลรหัสสถานที่สำหรับคอมโพเนนต์ที่อยู่ที่ระบุทั้งหมดตามพิกัดละติจูดและลองจิจูด
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYใช้การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับกับการกรองคอมโพเนนต์เพื่อรับคอมโพเนนต์ที่อยู่สำหรับประเภทต่อไปนี้อย่างน้อย 1 ประเภทในสถานที่ที่ระบุ
administrativeAreacountrylocalitypostalCode
ฟังก์ชันตัวอย่างถัดไปแสดงการใช้บริการ Geocoding โดยเพิ่มข้อจำกัดของคอมโพเนนต์ด้วยการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับเพื่อรับคอมโพเนนต์ที่อยู่ที่ระบุทั้งหมดในสถานที่ที่ระบุสำหรับประเภท locality เท่านั้น
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY