การเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่ช่วยให้คุณดึงที่อยู่จากรหัส สถานที่ได้
รหัสสถานที่จะระบุสถานที่ในฐานข้อมูล Google Places และใน Google Maps โดยไม่ซ้ำกัน ดึงรหัสสถานที่เมื่อคุณเข้ารหัสที่อยู่เป็นพิกัดภูมิศาสตร์ an address นอกจากนี้ คุณยังดึงรหัสสถานที่จาก API อื่นๆ ได้อีกมากมาย เช่น รายละเอียดสถานที่ (New), การค้นหาข้อความ (New), และ การค้นหาในบริเวณใกล้เคียง (New)
คำขอการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่
คำขอการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่คือคำขอ GET ของ HTTP ในรูปแบบต่อไปนี้
https://geocode.googleapis.com/v4/geocode/places/PLACE_ID
โดยที่ PLACE_ID มีรหัสสถานที่ของสถานที่ที่สนใจ
ส่งพารามิเตอร์อื่นๆ ทั้งหมดเป็นพารามิเตอร์ URL หรือส่งพารามิเตอร์จำพวกคีย์ API หรือฟิลด์มาสก์ในส่วนหัวโดยเป็นส่วนหนึ่งของคำขอ GET เช่น
https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?key=API_KEY
หรือในคำสั่ง curl
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
ใช้ OAuth เพื่อสร้างคำขอ
Geocoding API v4 รองรับ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ หากต้องการใช้ OAuth กับ Geocoding API คุณต้องกำหนดขอบเขตที่ถูกต้องให้กับโทเค็น OAuth Geocoding API รองรับขอบเขตต่อไปนี้เพื่อใช้กับการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่
https://www.googleapis.com/auth/maps-platform.geocode\- ใช้กับเมธอด Geocoding API ทั้งหมดhttps://www.googleapis.com/auth/maps-platform.geocode.place\- ใช้กับGeocodePlaceเท่านั้นสำหรับการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่
นอกจากนี้ คุณยังใช้ขอบเขตทั่วไป https://www.googleapis.com/auth/cloud-platform สำหรับเมธอด Geocoding API ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนา แต่ไม่ใช่ในเวอร์ชันที่ใช้งานจริง เนื่องจากเป็นขอบเขตทั่วไปที่อนุญาตให้เข้าถึงเมธอดทั้งหมด
ดูข้อมูลเพิ่มเติมและตัวอย่างได้ที่หัวข้อใช้ OAuth
การตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่
การเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่แสดงผล
GeocodeResult
ซึ่งแสดงสถานที่ที่ตรงกับรหัสสถานที่
การตอบกลับของ Geocoding API จะมี types อาร์เรย์ใน 2 ตำแหน่งหลักภายใน
GeocodeResult ดังนี้
GeocodeResult.types: อาร์เรย์นี้ระบุประเภทโดยรวมของผลลัพธ์ ค่าที่เป็นไปได้จะมาจาก ตาราง ก. และตาราง ข. ในหน้าประเภทสถานที่ (ใหม่)GeocodeResult.addressComponents[].types: คอมโพเนนต์ของที่อยู่แต่ละรายการจะมีtypesซึ่งระบุประเภทของที่อยู่ส่วนนั้นๆ ค่าเหล่านี้จะมาจากตารางประเภทที่อยู่และประเภทคอมโพเนนต์ของที่อยู่ในหน้าประเภทสถานที่ (ใหม่)
ออบเจ็กต์ JSON ที่สมบูรณ์จะอยู่ในรูปแบบดังนี้
{ "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4209489697085, "longitude": -122.08846930000001 }, "high": { "latitude": 37.4236469302915, "longitude": -122.0829156 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1600 Amphitheatre Pkwy" ] }, "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "establishment", "point_of_interest" ] }
พารามิเตอร์ที่จำเป็น
place\- รหัสสถานที่ของสถานที่ที่คุณต้องการรับที่อยู่ที่อ่านได้ รหัสสถานที่เป็นตัวระบุที่ไม่ซ้ำกัน ซึ่งใช้กับ Google API อื่นๆ ได้ เช่น คุณสามารถ ใช้placeIDที่ Roads API แสดงผลเพื่อรับที่อยู่ของจุดที่ปักหมุด ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานที่ ได้ที่หัวข้อรหัสสถานที่
พารามิเตอร์ที่ไม่บังคับ
languageCode
ภาษาที่จะแสดงผลลัพธ์
- ดูรายการภาษาที่รองรับ . Google มักจะอัปเดต ภาษาที่รองรับ ดังนั้นรายการนี้อาจไม่ครอบคลุมทั้งหมด
-
หากไม่ได้ระบุ
languageCodeAPI จะใช้enเป็นค่าเริ่มต้น หากคุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะแสดงผลข้อผิดพลาดINVALID_ARGUMENT - API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่ที่อ่านง่ายสำหรับทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมายดังกล่าว ระบบจะแสดงที่อยู่ในภาษาท้องถิ่น โดยแปลงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น ตามภาษาที่ต้องการ ส่วนที่อยู่อื่นๆ จะแสดงในภาษาที่ต้องการ คอมโพเนนต์ของที่อยู่ ทั้งหมดจะแสดงในภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
- หากชื่อไม่มีในภาษาที่ต้องการ API จะใช้ชื่อที่ใกล้เคียงที่สุด
- ภาษาที่ต้องการมีผลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผลและลำดับที่แสดงผล ตัวเข้ารหัสพิกัดภูมิศาสตร์จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง
regionCode
รหัสภูมิภาคเป็นค่ารหัส CLDR 2 หลัก ไม่มีค่าเริ่มต้น รหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1
เมื่อเข้ารหัสที่อยู่เป็นพิกัดภูมิศาสตร์หรือ Forward Geocoding พารามิเตอร์นี้จะส่งผลต่อผลลัพธ์จากบริการในภูมิภาคที่ระบุได้ แต่จะไม่ จำกัดผลลัพธ์โดยสมบูรณ์ เมื่อเข้ารหัสพิกัดภูมิศาสตร์ของตำแหน่งหรือสถานที่ หรือที่เรียกว่า การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ หรือ การเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่ คุณสามารถใช้พารามิเตอร์นี้เพื่อจัดรูปแบบที่อยู่ได้ ในทุกกรณี พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง
-
FieldMask
สร้างฟิลด์มาสก์การตอบกลับเพื่อระบุช่องที่จะแสดงผลในการตอบกลับ ส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดโดยใช้พารามิเตอร์ URL
$fieldsหรือfieldsหรือโดยใช้ส่วนหัว HTTPX-Goog-FieldMaskเช่น คำขอต่อไปนี้จะแสดงผลเฉพาะช่องformattedAddressของการตอบกลับ การตอบกลับจะเป็นดังนี้curl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: formattedAddress' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
{ "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA" }
ดูรายละเอียดเพิ่มเติมได้ที่หัวข้อเลือกช่องที่จะแสดงผล