การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับจะแปลงตำแหน่งบนแผนที่เป็นที่อยู่ที่มนุษย์อ่านได้ คุณแสดงตำแหน่งแผนที่ด้วยพิกัดละติจูดและลองจิจูดของตำแหน่ง
เมื่อเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับของตำแหน่ง คำตอบจะมีข้อมูลต่อไปนี้
- รหัสสถานที่ของ ที่อยู่
- Plus Code ของที่อยู่
- รายละเอียดที่อยู่
API นี้จะแสดงผลที่อยู่ประเภทต่างๆ ตั้งแต่ที่อยู่ถนนที่เฉพาะเจาะจงที่สุดไปจนถึงหน่วยงานทางการเมืองที่เฉพาะเจาะจงน้อยกว่า เช่น ย่าน เมือง เขต และรัฐ โดยทั่วไปแล้ว ที่อยู่ที่ตรงกันมากที่สุดจะเป็นผลการค้นหาแรก หากต้องการจับคู่ที่อยู่ประเภทใดประเภทหนึ่ง ให้ใช้พารามิเตอร์ types
คำขอการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
คำขอการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับคือคำขอ GET ของ HTTP คุณระบุสถานที่ เป็นสตริงที่ไม่มีโครงสร้างได้ดังนี้
https://geocode.googleapis.com/v4/geocode/location/LATITUDE,LONGITUDE
หรือระบุเป็นชุดพิกัดละติจูดและลองจิจูดที่จัดโครงสร้าง ซึ่งแสดงด้วยพารามิเตอร์การค้นหา
https://geocode.googleapis.com/v4/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
โดยปกติแล้ว คุณจะใช้รูปแบบที่มีโครงสร้างเมื่อประมวลผลคอมโพเนนต์ตำแหน่ง ที่บันทึกในแบบฟอร์ม HTML
ส่งพารามิเตอร์อื่นๆ ทั้งหมดเป็นพารามิเตอร์ URL หรือส่งพารามิเตอร์จำพวกคีย์ API หรือฟิลด์มาสก์ในส่วนหัวโดยเป็นส่วนหนึ่งของคำขอ GET เช่น
ส่งสตริงสถานที่ที่ไม่มีโครงสร้าง
สถานที่ตั้งที่ไม่มีโครงสร้างคือสถานที่ตั้งที่จัดรูปแบบเป็นสตริงของพิกัดละติจูดและลองจิจูดซึ่งคั่นด้วยคอมมา ดังนี้
https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?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/location/37.4225508,-122.0846338"
ส่งตำแหน่งที่มีโครงสร้าง
ระบุสถานที่ที่มีโครงสร้างโดยใช้พารามิเตอร์การค้นหา location ประเภท
LatLng
ออบเจ็กต์ LatLng ช่วยให้คุณระบุละติจูดและลองจิจูดเป็นพารามิเตอร์การค้นหา
แยกกันได้
https://geocode.googleapis.com/v4/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
ใช้ 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.location— ใช้กับGeocodeLocationเท่านั้นสำหรับการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
นอกจากนี้ คุณยังใช้ขอบเขตทั่วไป https://www.googleapis.com/auth/cloud-platform สำหรับเมธอด Geocoding API ทั้งหมดได้ด้วย ขอบเขตดังกล่าวมีประโยชน์ในระหว่างการพัฒนา แต่ไม่ใช่ในเวอร์ชันที่ใช้งานจริง เนื่องจากเป็นขอบเขตทั่วไปที่อนุญาตให้เข้าถึงทุกเมธอด
ดูข้อมูลและตัวอย่างเพิ่มเติมได้ที่ใช้ OAuth
การตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับจะแสดงผลออบเจ็กต์ GeocodeLocationResponse ซึ่งมีข้อมูลต่อไปนี้
-
อาร์เรย์
resultsของออบเจ็กต์GeocodeResultที่แสดงสถานที่การตอบกลับของ Geocoding API มี
typesอาร์เรย์ใน 2 ส่วนหลักภายในGeocodeResultดังนี้GeocodeResult.types: อาร์เรย์นี้ระบุประเภทโดยรวมของผลการค้นหา ค่าที่เป็นไปได้มาจากตาราง A และตาราง B ในหน้าประเภทสถานที่ (ใหม่)GeocodeResult.addressComponents[].types: คอมโพเนนต์ที่อยู่แต่ละรายการมีอาร์เรย์typesที่ระบุประเภทของส่วนที่เฉพาะเจาะจงของที่อยู่ ค่าเหล่านี้มาจากตารางประเภทที่อยู่และประเภทคอมโพเนนต์ของที่อยู่ในหน้าประเภทสถานที่ (ใหม่)
Reverse Geocoder จะแสดงผลลัพธ์มากกว่า 1 รายการในอาร์เรย์
resultsผลลัพธ์ไม่ใช่แค่ที่อยู่ไปรษณีย์ แต่เป็นวิธีใดก็ได้ในการ ตั้งชื่อสถานที่ทางภูมิศาสตร์ ตัวอย่างเช่น เมื่อทำการแปลงรหัสพิกัดภูมิศาสตร์ของจุดในเมืองชิคาโก ระบบอาจระบุจุดที่แปลงรหัสพิกัดภูมิศาสตร์เป็นที่อยู่ถนน เป็นเมือง (ชิคาโก) เป็นรัฐ (อิลลินอยส์) หรือเป็นประเทศ (สหรัฐอเมริกา) ทั้งหมด คือ "ที่อยู่" ของ Geocoder เครื่องมือระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับจะแสดงผลประเภทใดประเภทหนึ่งต่อไปนี้ เป็นผลลัพธ์ที่ถูกต้อง -
ฟิลด์
plusCodeซึ่งมีประเภทPlusCodeมี Plus Code ที่ประมาณค่าละติจูดและลองจิจูดในคำขอได้ดีที่สุด นอกจากนี้ องค์ประกอบแต่ละรายการของอาร์เรย์resultsยังมี Plus Code ด้วย ระยะห่างระหว่าง Plus Code ที่ถอดรหัสแล้วกับจุดที่ขออยู่ต่ำกว่า 10 เมตรหมายเหตุ: API ไม่ได้แสดง Plus Code เสมอไป
ออบเจ็กต์ JSON ที่สมบูรณ์จะอยู่ในรูปแบบดังนี้
{ "results": [ { "place": "//places.googleapis.com/places/ChIJV-FZF7i7j4ARo4ZOUoecZFU", "placeId": "ChIJV-FZF7i7j4ARo4ZOUoecZFU", "location": { "latitude": 37.422588300000008, "longitude": -122.0846489 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421239319708512, "longitude": -122.0859978802915 }, "high": { "latitude": 37.423937280291511, "longitude": -122.08329991970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "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": [ "street_address" ], "plusCode": { "globalCode": "849VCW83+PM", "compoundCode": "CW83+PM Mountain View, CA, USA" } }, { "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4207051197085, "longitude": -122.08667318029148 }, "high": { "latitude": 37.423403080291493, "longitude": -122.08397521970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "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" ], "plusCode": { "globalCode": "849VCWC7+RV", "compoundCode": "CWC7+RV Mountain View, CA, USA" } }, ... ], "plusCode": { "globalCode": "849VCWF8+24H", "compoundCode": "CWF8+24H Mountain View, CA, USA" } }
พารามิเตอร์ที่จำเป็น
สถานที่
พิกัดละติจูดและลองจิจูดที่ระบุตำแหน่งที่คุณต้องการ ที่อยู่ที่ใกล้ที่สุดซึ่งมนุษย์อ่านได้
พารามิเตอร์ที่ไม่บังคับ
languageCode
ภาษาที่จะแสดงผลลัพธ์
- ดู รายการภาษาที่รองรับ Google มักจะอัปเดต ภาษาที่รองรับอยู่เสมอ ดังนั้นรายการนี้จึงอาจไม่ครอบคลุมทั้งหมด
-
หากไม่ได้ระบุ
languageCodeAPI จะใช้enเป็นค่าเริ่มต้น หาก คุณระบุรหัสภาษาที่ไม่ถูกต้อง API จะแสดงข้อผิดพลาดINVALID_ARGUMENT - API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่ที่อ่านง่ายสำหรับทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมายดังกล่าว ระบบจะแสดงที่อยู่ในภาษาท้องถิ่น โดยแปลงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น ตามภาษาที่ต้องการ ส่วนที่อยู่อื่นๆ จะแสดงในภาษาที่ต้องการ คอมโพเนนต์ของที่อยู่ ทั้งหมดจะแสดงในภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
- หากชื่อไม่มีในภาษาที่ต้องการ API จะใช้ชื่อที่ใกล้เคียงที่สุด
- ภาษาที่ต้องการมีผลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดง และลำดับที่แสดง Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจ ใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง
regionCode
รหัสภูมิภาคเป็นค่ารหัส CLDR 2 หลัก ไม่มีค่าเริ่มต้น รหัส CLDR ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1
เมื่อเข้ารหัสที่อยู่เป็นพิกัดภูมิศาสตร์หรือ Forward Geocoding พารามิเตอร์นี้จะส่งผลต่อผลลัพธ์จากบริการในภูมิภาคที่ระบุได้ แต่จะไม่จำกัดผลลัพธ์โดยสมบูรณ์ เมื่อเข้ารหัสพิกัดภูมิศาสตร์ของตำแหน่งหรือสถานที่ หรือที่เรียกว่าการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับหรือการเข้ารหัสพิกัดภูมิศาสตร์ของสถานที่ คุณสามารถใช้พารามิเตอร์นี้เพื่อจัดรูปแบบที่อยู่ได้ ในทุกกรณี พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง
รายละเอียด
ความละเอียดของสถานที่ตั้งอย่างน้อย 1 รายการที่ระบุเป็นพารามิเตอร์การค้นหาแยกกันตามที่กำหนดโดย
Granularityหากคุณระบุgranularityหลายพารามิเตอร์ API จะแสดงที่อยู่ทั้งหมดที่ตรงกับความละเอียดใดก็ตามพารามิเตอร์
granularityไม่ได้จำกัดการค้นหาตามระดับความละเอียดของสถานที่ที่ระบุ แต่จะgranularityทำหน้าที่เป็นตัวกรองหลังการค้นหา API จะดึงผลลัพธ์ทั้งหมด สำหรับlocationที่ระบุ จากนั้นจะทิ้งผลลัพธ์ ที่ไม่ตรงกับระดับความละเอียดของสถานที่ตั้งที่ระบุหากคุณระบุทั้ง
typesและgranularityAPI จะแสดงเฉพาะผลลัพธ์ที่ตรงกับทั้ง 2 รายการ เช่นhttps://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY ประเภท
ประเภทที่อยู่อย่างน้อย 1 ประเภทที่ระบุเป็นพารามิเตอร์การค้นหาแยกกัน ค่าที่เป็นไปได้มาจากตารางประเภทที่อยู่และประเภทคอมโพเนนต์ของที่อยู่ในหน้าประเภทสถานที่ (ใหม่) หากคุณระบุพารามิเตอร์หลายรายการ
typesAPI จะแสดงที่อยู่ทั้งหมดที่ตรงกับประเภทใดประเภทหนึ่งพารามิเตอร์
typesไม่ได้จำกัดการค้นหาให้เป็นประเภทที่อยู่ที่ระบุ แต่จะtypesทำหน้าที่เป็นตัวกรองหลังการค้นหา API จะดึงผลลัพธ์ทั้งหมด สำหรับสถานที่ตั้งที่ระบุ จากนั้นจะทิ้งผลลัพธ์ ที่ไม่ตรงกับประเภทที่อยู่ที่ระบุหากคุณระบุทั้ง
typesและgranularityAPI จะแสดงเฉพาะผลลัพธ์ที่ตรงกับทั้ง 2 รายการ เช่นhttps://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2
&types=locality &key=API_KEY -
FieldMask
สร้างมาสก์ฟิลด์การตอบกลับเพื่อระบุฟิลด์ที่จะแสดงในการตอบกลับ ส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดโดยใช้พารามิเตอร์ของ URL
$fieldsหรือfieldsหรือโดยใช้ส่วนหัว HTTPX-Goog-FieldMaskเช่น คำขอต่อไปนี้จะแสดงเฉพาะฟิลด์placeIDของการตอบกลับ คำตอบคือcurl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: results.placeId' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338"
{ "results": [ { "placeId": "ChIJHRNUiQK6j4ARJ__Hrbt6qsE" }, { "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, { "placeId": "ChIJ1yjFJ1-7j4ARG_RVqFD1h7k" }, { "placeId": "ChIJ09H2YwK6j4ARoF7qfCBxhB8" }, ... ] }
ดูรายละเอียดเพิ่มเติมได้ที่เลือกช่องที่จะแสดงผล