โดยทั่วไป คำว่าการระบุพิกัดภูมิศาสตร์หมายถึงการแปลที่อยู่ที่มนุษย์อ่านได้ให้เป็นตำแหน่งบนแผนที่ กระบวนการที่จะทำตรงกันข้ามคือการแปลตำแหน่งบนแผนที่เป็นที่อยู่ที่มนุษย์อ่านได้ หรือที่เรียกว่าการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
ย้อนกลับคำขอการระบุพิกัดทางภูมิศาสตร์
พารามิเตอร์ที่จำเป็น
latlng
— พิกัดละติจูดและลองจิจูดที่ระบุสถานที่ที่คุณต้องการที่อยู่ซึ่งมนุษย์อ่านเข้าใจได้ใกล้เคียงที่สุดkey
— คีย์ API ของแอปพลิเคชัน คีย์นี้ระบุแอปพลิเคชันเพื่อวัตถุประสงค์ในการจัดการโควต้า ดูวิธีรับคีย์
พารามิเตอร์ที่ไม่บังคับ
พารามิเตอร์ต่อไปนี้เป็นพารามิเตอร์ที่ไม่บังคับซึ่งสามารถรวมไว้ในคำขอระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับได้
language
— ภาษาที่จะแสดงผลการค้นหา- ดูรายการภาษาที่รองรับ Google จะอัปเดตภาษาที่รองรับเป็นประจำ ดังนั้นรายการนี้จึงอาจไม่ครอบคลุมทั้งหมด
- หากไม่ระบุ
language
โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะพยายามใช้ภาษาที่ต้องการตามที่ระบุในส่วนหัวAccept-Language
หรือภาษาดั้งเดิมของโดเมนต้นทางที่ส่งคำขอ - โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะพยายามอย่างดีที่สุดเพื่อระบุที่อยู่ที่ทั้งผู้ใช้และคนท้องถิ่นอ่านได้ เพื่อให้บรรลุเป้าหมายดังกล่าว เครื่องมือจะแสดงที่อยู่ในภาษาท้องถิ่นที่ทับศัพท์เป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น โดยสังเกตภาษาที่ต้องการ โดยอีเมลอื่นๆ ทั้งหมดจะส่งคืนในภาษาที่ต้องการ คอมโพเนนต์ที่อยู่ทั้งหมดจะแสดงเป็นภาษาเดียวกัน ซึ่งจะเลือกจากคอมโพเนนต์แรก
- หากไม่มีชื่อในภาษาที่ต้องการ โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะใช้รายการที่ตรงกันที่ใกล้เคียงที่สุด
region
— รหัสภูมิภาคที่ระบุเป็นค่าอักขระ 2 ตัวของ ccTLD ("โดเมนระดับบนสุด") พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้องด้วยresult_type
— ตัวกรองประเภทที่อยู่อย่างน้อย 1 ประเภทที่คั่นด้วยอักขระไปป์ (|
) หากพารามิเตอร์มีที่อยู่หลายประเภท API จะแสดงผลที่อยู่ทั้งหมดที่ตรงกับประเภทใดก็ตาม หมายเหตุเกี่ยวกับการประมวลผล: พารามิเตอร์result_type
จะไม่restrictการค้นหาสำหรับประเภทที่อยู่ที่ระบุ แต่result_type
จะทำหน้าที่เป็นตัวกรองหลังการค้นหา กล่าวคือ API จะดึงผลลัพธ์ทั้งหมดสำหรับlatlng
ที่ระบุ จากนั้นจะทิ้งผลลัพธ์ที่ไม่ตรงกับประเภทที่อยู่ที่ระบุ ระบบรองรับค่าต่อไปนี้street_address
ระบุที่อยู่ที่แน่ชัดroute
บ่งชี้ถึงเส้นทางที่มีชื่อ (เช่น "US 101")intersection
หมายถึงทางแยกหลัก ซึ่งโดยปกติจะเป็นถนนสายหลัก 2 สายpolitical
หมายถึงหน่วยงานทางการเมือง โดยปกติแล้ว ประเภทนี้จะระบุรูปหลายเหลี่ยมของการบริหารจัดการพลเรือนcountry
หมายถึงหน่วยงานทางการเมืองระดับชาติ และโดยทั่วไปเป็นประเภทลำดับสูงสุดที่ Geocoder แสดงผลadministrative_area_level_1
หมายถึงนิติบุคคลอันดับ 1 ที่ต่ำกว่าระดับประเทศ ในสหรัฐอเมริกา ระดับบริหารเหล่านี้เป็นรัฐ มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้ ในกรณีส่วนใหญ่ ชื่อย่อระดับผู้ดูแลระบบ [Administrative_area_level_1] จะตรงกับการแยกย่อย ISO 3166-2 และรายการที่เผยแพร่อย่างแพร่หลายอื่นๆ แต่ไม่มีการรับประกันเนื่องจากผลการระบุพิกัดทางภูมิศาสตร์ของเราจะอิงตามสัญญาณและข้อมูลตำแหน่งที่หลากหลายadministrative_area_level_2
ระบุนิติบุคคลอันดับที่ 2 ซึ่งอยู่ต่ำกว่าระดับประเทศ ในสหรัฐอเมริกา ระดับบริหารเหล่านี้เป็นเขตปกครอง มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้administrative_area_level_3
หมายถึงนิติบุคคลพลเรือนที่ 3 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้administrative_area_level_4
หมายถึงนิติบุคคลอันดับที่ 4 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้administrative_area_level_5
บ่งชี้ถึงนิติบุคคลอันดับที่ 5 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้administrative_area_level_6
บ่งชี้ถึงการปกครองลำดับที่ 6 ที่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้administrative_area_level_7
หมายถึงนิติบุคคลอันดับที่ 7 ของพลเรือนที่อยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้colloquial_area
ระบุชื่อสำรองที่ใช้กันโดยทั่วไปสำหรับเอนทิตีlocality
หมายถึงองค์กรทางการเมืองของเมืองหรือเมืองที่ก่อตั้งขึ้นsublocality
บ่งชี้ถึงนิติบุคคลอันดับ 1 ซึ่งอยู่ด้านล่างย่าน ในสถานที่บางแห่งอาจได้รับประเภทเพิ่มเติมต่อไปนี้sublocality_level_1
ถึงsublocality_level_5
ระดับสถานที่ตั้งย่อยแต่ละระดับเป็นนิติบุคคล ตัวเลขที่มากกว่าหมายถึงพื้นที่ทางภูมิศาสตร์ที่เล็กลงneighborhood
หมายถึงย่านใกล้เคียงที่มีชื่อpremise
บ่งชี้ถึงสถานที่ที่ตั้งชื่อแล้ว ซึ่งมักจะเป็นอาคารหรือคอลเล็กชันของอาคารที่มีชื่อทั่วไปsubpremise
ระบุเอนทิตีลำดับแรกใต้สถานที่ที่ตั้งชื่อแล้ว โดยทั่วไปจะเป็นอาคารเดี่ยวภายในกลุ่มอาคารที่มีชื่อทั่วไปplus_code
บ่งชี้การอ้างอิงตำแหน่งที่เข้ารหัสซึ่งมาจากละติจูดและลองจิจูด คุณใช้โค้ด Plus แทนที่อยู่ในสถานที่ที่ไม่มีอยู่จริงได้ (ที่ไม่มีหมายเลขกำกับอาคารหรือไม่ได้ตั้งชื่อถนน) ดูรายละเอียดได้ที่ https://plus.codespostal_code
หมายถึงรหัสไปรษณีย์ที่ใช้ระบุที่อยู่ทางไปรษณีย์ภายในประเทศnatural_feature
หมายถึงองค์ประกอบธรรมชาติที่โดดเด่นairport
หมายถึงสนามบินpark
หมายถึงสวนสาธารณะที่มีชื่อpoint_of_interest
หมายถึงจุดสนใจที่มีชื่อ โดยปกติแล้ว "จุดที่น่าสนใจ" เหล่านี้คือหน่วยงานท้องถิ่นที่โดดเด่นซึ่งปรากฏในหมวดหมู่อื่นได้ยาก เช่น "อาคารเอ็มไพร์สเตต" หรือ "หอไอเฟล"
location_type
— ตัวกรองประเภทสถานที่ตั้งอย่างน้อย 1 ประเภทโดยคั่นด้วยอักขระไปป์ (|
) หากพารามิเตอร์มีตำแหน่งหลายประเภท API จะแสดงผลที่อยู่ทั้งหมดที่ตรงกับประเภทใดก็ตาม หมายเหตุเกี่ยวกับการประมวลผล: พารามิเตอร์location_type
จะไม่restrictการค้นหาเฉพาะประเภทสถานที่ตั้งที่ระบุ แต่location_type
จะทำหน้าที่เป็นตัวกรองหลังการค้นหา กล่าวคือ API จะดึงผลลัพธ์ทั้งหมดสำหรับlatlng
ที่ระบุ และทิ้งผลลัพธ์ที่ไม่ตรงกับประเภทตำแหน่งที่ระบุ ค่าที่รองรับมีดังนี้"ROOFTOP"
จะแสดงเฉพาะที่อยู่ที่ Google มีข้อมูลตําแหน่งที่ถูกต้องตามความแม่นยำของที่อยู่"RANGE_INTERPOLATED"
แสดงเฉพาะที่อยู่ที่แสดงให้เห็นถึงการประมาณ (มักจะอยู่บนถนน) ที่แทรกระหว่างจุดที่แม่นยำ 2 จุด (เช่น ทางแยก) โดยทั่วไป ช่วงที่ประมาณค่าไว้หมายความว่าระบบพิกัดภูมิศาสตร์บนชั้นดาดฟ้าใช้ไม่ได้กับที่อยู่"GEOMETRIC_CENTER"
แสดงเฉพาะจุดศูนย์กลางทางเรขาคณิตของสถานที่ตั้ง เช่น เส้นประกอบ (เช่น ถนน) หรือรูปหลายเหลี่ยม (ภูมิภาค)"APPROXIMATE"
จะแสดงผลเฉพาะที่อยู่ที่มีลักษณะเป็นค่าประมาณเท่านั้น
หากมีทั้งตัวกรอง result_type
และ location_type
อยู่ API จะส่งกลับเฉพาะผลลัพธ์ที่ตรงกับทั้งค่า result_type
และค่า location_type
หากไม่มีค่าตัวกรองที่ยอมรับได้ API จะแสดงผล ZERO_RESULTS
ตัวอย่างการระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับ
ข้อความค้นหาต่อไปนี้มีค่าละติจูด/ลองจิจูดสำหรับสถานที่ในบรูคลิน
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
ข้อความค้นหาด้านบนจะแสดงผลลัพธ์ต่อไปนี้
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional <code>results[]</code> ...
โปรดทราบว่าโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ย้อนกลับแสดงผลลัพธ์มากกว่าหนึ่งรายการ ผลการค้นหา "formatted_address"
ไม่ได้เป็นเพียงที่อยู่ไปรษณีย์เท่านั้น แต่เป็นวิธีตั้งชื่อสถานที่ตั้งทางภูมิศาสตร์ด้วย ตัวอย่างเช่น เมื่อระบุพิกัดทางภูมิศาสตร์ของจุดหนึ่งในเมืองชิคาโก จุดที่ระบุพิกัดภูมิศาสตร์อาจระบุเป็นที่อยู่ เป็นเมือง (ชิคาโก) รัฐ (อิลลินอยส์) หรือประเทศ (สหรัฐอเมริกา) ทั้งหมดเป็น "ที่อยู่" ของรหัสพิกัดภูมิศาสตร์ โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ย้อนกลับ
จะแสดงผลประเภทเหล่านี้ว่าเป็นผลลัพธ์ที่ถูกต้อง
โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ย้อนกลับจะจับคู่บุคคลทางการเมือง (ประเทศ จังหวัด เมือง และย่าน) ที่อยู่ และรหัสไปรษณีย์
รายการค่า formatted_address
ทั้งหมดที่แสดงผลโดยการค้นหาก่อนหน้าจะแสดงอยู่ด้านล่าง
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
API นี้จะแสดงผลที่อยู่ประเภทต่างๆ ตั้งแต่ที่อยู่ที่เจาะจงที่สุดไปจนถึงบุคคลทางการเมืองที่เฉพาะเจาะจงน้อยกว่า เช่น ย่าน เมือง เคาน์ตี และรัฐ ซึ่งโดยทั่วไปแล้ว ที่อยู่ที่มากกว่ามักจะเป็นผลลัพธ์ที่โดดเด่นที่สุดตามในกรณีนี้ หากต้องการจับคู่ประเภทที่อยู่ที่เจาะจง โปรดดูส่วนการจำกัดผลลัพธ์ตามประเภทด้านล่าง ด้วยเหตุนี้ ตำแหน่งของผลการค้นหาซึ่งสัมพันธ์กันอาจแตกต่างกันไป
การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับที่กรองตามประเภท
ตัวอย่างต่อไปนี้กรองที่อยู่ที่แสดงผลให้รวมเฉพาะที่อยู่ที่มีประเภทสถานที่ตั้ง ROOFTOP
และประเภทที่อยู่ของ street_address
เท่านั้น
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY
หมายเหตุ: ตัวกรองเหล่านี้ใช้ได้กับการระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับเท่านั้น
กลับคำตอบที่ระบุพิกัดทางภูมิศาสตร์
รูปแบบของการตอบสนองการระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับจะเหมือนกับการตอบกลับเกี่ยวกับการระบุพิกัดทางภูมิศาสตร์ ดูคำตอบจากการระบุพิกัดทางภูมิศาสตร์ รหัสสถานะด้านล่างนี้เป็นรหัสสถานะการตอบสนองที่ทำได้ด้วยการเข้ารหัสพิกัดย้อนกลับ
ย้อนกลับรหัสสถานะที่ระบุพิกัดทางภูมิศาสตร์
ช่อง "status"
ภายในออบเจ็กต์การตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์จะมีสถานะของคำขอ และอาจมีข้อมูลการแก้ไขข้อบกพร่องเพื่อช่วยคุณติดตามสาเหตุที่การเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับไม่ทำงาน ช่อง "status"
อาจมีค่าต่อไปนี้
"OK"
บ่งชี้ว่าไม่มีข้อผิดพลาดเกิดขึ้น และมีการส่งที่อยู่อย่างน้อย 1 รายการกลับมา"ZERO_RESULTS"
บ่งบอกว่าการระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับสำเร็จ แต่ไม่ได้แสดงผลลัพธ์ ปัญหานี้อาจเกิดขึ้นหากตัวระบุพิกัดภูมิศาสตร์มีการส่งผ่านlatlng
ในตำแหน่งระยะไกล"OVER_QUERY_LIMIT"
บ่งชี้ว่าคุณใช้งานเกินโควต้า"REQUEST_DENIED"
บ่งบอกว่าคำขอถูกปฏิเสธ อาจเป็นเพราะคำขอมีพารามิเตอร์result_type
หรือlocation_type
แต่ไม่มีคีย์ API"INVALID_REQUEST"
โดยทั่วไปจะระบุข้อใดข้อหนึ่งต่อไปนี้- ไม่มีคำค้นหา (
address
,components
หรือlatlng
) - ได้รับ
result_type
หรือlocation_type
ที่ไม่ถูกต้อง
- ไม่มีคำค้นหา (
"UNKNOWN_ERROR"
บ่งบอกว่าดำเนินการตามคำขอไม่ได้เนื่องจากเกิดข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ คำขออาจสำเร็จหากคุณลองอีกครั้ง
กลับโค้ดพิกัดภูมิศาสตร์แบบย้อนกลับ
ช่อง plus_code
ในการตอบกลับข้อมูลพิกัดภูมิศาสตร์มีโค้ด Plus ที่คาดคะเนละติจูดและลองจิจูดที่ค้นหาได้ดีที่สุด
นอกจากนี้ ในกรณีส่วนใหญ่ อาร์เรย์ผลลัพธ์ JSON จะมีผลลัพธ์การเข้ารหัสพิกัดภูมิศาสตร์แบบเต็มที่มีประเภท plus_code
และที่อยู่ที่มีโค้ด Plus ระยะห่างระหว่างโค้ด Plus ที่ถอดรหัสและจุดส่งคำขอต้องไม่เกิน 10 เมตร