โดยทั่วไปแล้ว คำว่าการเข้ารหัสพิกัดภูมิศาสตร์หมายถึงการแปลรหัสที่มนุษย์อ่านได้ ที่อยู่ลงในตำแหน่งหนึ่งบนแผนที่ แต่กระบวนการทำตรงกันข้าม การแปลตำแหน่งบนแผนที่เป็นที่อยู่ที่มนุษย์อ่านได้นั้นเรียกว่า การเข้ารหัสภูมิศาสตร์ย้อนกลับ
คำขอการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
พารามิเตอร์ที่จำเป็น
latlng
— ละติจูดและลองจิจูด พิกัดที่ระบุสถานที่ที่คุณต้องการให้อยู่ใกล้ที่สุด ที่มนุษย์อ่านได้key
— คีย์ API ของแอปพลิเคชัน คีย์นี้จะระบุแอปพลิเคชันของคุณเพื่อวัตถุประสงค์ในการจัดการโควต้า เรียนรู้วิธีการ ซื้อคีย์
พารามิเตอร์ที่ไม่บังคับ
พารามิเตอร์เหล่านี้คือพารามิเตอร์ที่ไม่บังคับซึ่งคุณสามารถใส่แบบย้อนกลับได้ คำขอเกี่ยวกับการเข้ารหัสพิกัดภูมิศาสตร์:
language
— ภาษาที่จะแสดงผลลัพธ์- ดูรายชื่อที่สนับสนุน ภาษา Google มักจะอัปเดตภาษาที่สนับสนุน รายการต่อไปนี้เป็นเพียงตัวอย่างบางส่วนเท่านั้น
- ถ้าไม่ได้ระบุ
language
โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะพยายาม ใช้ภาษาที่ต้องการตามที่ระบุไว้ใน ส่วนหัวAccept-Language
หรือภาษาท้องถิ่นของส่วนหัว โดเมนที่ส่งคำขอมา - โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์พยายามอย่างเต็มที่ในการระบุที่อยู่ สามารถอ่านได้ทั้งสำหรับผู้ใช้และคนในท้องถิ่น เพื่อให้บรรลุเป้าหมายนั้น จะแสดงที่อยู่ในภาษาท้องถิ่น ซึ่งทับศัพท์เป็น สคริปต์ที่ผู้ใช้สามารถอ่านได้ถ้าจำเป็น โดยปฏิบัติตามคำแนะนำ ภาษา ที่อยู่อื่นๆ ทั้งหมดจะถูกแสดงไว้ใน ภาษา คอมโพเนนต์ที่อยู่ทั้งหมดจะแสดงผลในภาษาเดียวกัน ซึ่งจะเลือกมาจากคอมโพเนนต์แรก
- หากไม่มีชื่อในภาษาที่ต้องการ ตัวระบุพิกัดภูมิศาสตร์จะใช้ชื่อที่ตรงกันมากที่สุด
region
— รหัสภูมิภาค ระบุเป็น ccTLD ("โดเมนระดับบนสุด") ค่าอักขระสองตัว นอกจากนี้ พารามิเตอร์ยังส่งผลต่อ ผลลัพธ์ตามกฎหมายที่เกี่ยวข้องresult_type
— ตัวกรองประเภทที่อยู่อย่างน้อย 1 ประเภท คั่นด้วยเครื่องหมายขีดตั้ง (|
) ถ้าพารามิเตอร์มีหลาย ประเภทที่อยู่ API จะแสดงที่อยู่ทั้งหมดที่ตรงกับประเภทใดก็ตาม หมายเหตุเกี่ยวกับการประมวลผล: พารามิเตอร์result_type
จะไม่ จำกัดการค้นหาเฉพาะประเภทที่อยู่ที่ระบุ แต่เป็นresult_type
ทำหน้าที่เป็นตัวกรองหลังการค้นหา โดย API จะดึงข้อมูลทั้งหมด ผลลัพธ์สำหรับlatlng
ที่ระบุ และยกเลิกผลลัพธ์เหล่านั้น ที่ไม่ตรงกับประเภทที่อยู่ที่ระบุ ค่าต่อไปนี้ รองรับstreet_address
ระบุที่อยู่ที่ถูกต้องแม่นยำroute
ระบุเส้นทางที่มีชื่อ (เช่น "US 101")intersection
หมายถึงทางแยกที่สำคัญ ซึ่งมักจะเป็นทางแยกของถนนสายหลัก 2 สายpolitical
บ่งชี้ถึงหน่วยงานทางการเมือง โดยปกติ ประเภทนี้ แสดงถึงรูปหลายเหลี่ยมของการปกครองระบบพลเรือนcountry
หมายถึงหน่วยงานทางการเมืองระดับชาติ และ ซึ่งโดยทั่วไปจะเป็นประเภทลำดับสูงสุดที่มาจาก Geocoderadministrative_area_level_1
หมายถึงนิติบุคคลระดับที่ 1 ที่อยู่ต่ำกว่าระดับประเทศ ในประเทศสหรัฐอเมริกา ระดับการดูแลระบบคือรัฐ ระดับการปกครองเหล่านี้ไม่ได้ปรากฏในทุกประเทศ ในกรณีส่วนใหญ่ admin_area_level_1 ชื่อย่อจะใกล้เคียงกับหมวดย่อย ISO 3166-2 มาก รายการที่เผยแพร่แล้ว แต่ก็ไม่อาจรับประกันได้ว่า ผลจากการระบุพิกัดทางภูมิศาสตร์ของเรา ขึ้นอยู่กับสัญญาณและข้อมูลตำแหน่งต่างๆadministrative_area_level_2
บ่งชี้ถึงคดีแพ่งลำดับที่ 2 ต่ำกว่าระดับประเทศ ในประเทศสหรัฐอเมริกา ระดับการดูแลระบบคือเขต มีบางประเทศเท่านั้นที่แสดงสิ่งเหล่านี้ ระดับผู้ดูแลระบบadministrative_area_level_3
บ่งชี้ถึงคดีแพ่งที่ 3 ต่ำกว่าระดับประเทศ ประเภทนี้หมายถึงการแบ่งแยกคดีผู้เยาว์ มีบางประเทศเท่านั้นที่จะแสดงระดับการปกครองเหล่านี้administrative_area_level_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 Codes สามารถใช้แทนโค้ด ที่อยู่ในสถานที่ที่ไม่มีอยู่ (ที่อาคารไม่มีหมายเลขกำกับ หรือ ไม่มีชื่อถนน) ดู https://plus.codes เพื่อดูรายละเอียดpostal_code
หมายถึงรหัสไปรษณีย์ตามที่ใช้ระบุรหัสไปรษณีย์ ไปรษณีย์ภายในประเทศnatural_feature
หมายถึงลักษณะทางธรรมชาติที่โดดเด่นairport
หมายถึงสนามบินpark
หมายถึงสวนสาธารณะที่มีชื่อpoint_of_interest
หมายถึงจุดสนใจที่มีชื่อ โดยปกติแล้ว "จุดที่น่าสนใจ" เหล่านี้จะเป็นเอนทิตีในพื้นที่ที่โดดเด่นซึ่งไม่สามารถจัดวางได้ง่าย ในหมวดหมู่อื่น เช่น "ตึกเอ็มไพร์สเตท" หรือ "หอไอเฟล"
location_type
— ตัวกรองประเภทสถานที่ตั้งอย่างน้อย 1 ประเภท คั่นด้วยเครื่องหมายขีดตั้ง (|
) ถ้าพารามิเตอร์มีหลาย ประเภทตำแหน่ง โดย API จะแสดงที่อยู่ทั้งหมดที่ตรงกับประเภทใดก็ตาม หมายเหตุเกี่ยวกับการประมวลผล: พารามิเตอร์location_type
จะไม่ จำกัดการค้นหาไว้เฉพาะประเภทตำแหน่งที่ระบุ แต่location_type
จะทําหน้าที่เป็นตัวกรองหลังการค้นหา โดย API จะดึงข้อมูลผลลัพธ์ทั้งหมดสําหรับlocation_type
ที่ระบุ จากนั้นจะทิ้งผลลัพธ์ที่ไม่ตรงกับประเภทสถานที่ที่ระบุ ค่าที่รองรับมีดังนี้"ROOFTOP"
แสดงผลเฉพาะที่อยู่ที่ Google มีข้อมูลตำแหน่งที่แม่นยำ ถึงที่อยู่ได้ถูกต้อง"RANGE_INTERPOLATED"
แสดงผลเฉพาะที่อยู่ที่ แสดงการประมาณ (โดยทั่วไปบนถนน) ที่ประมาณไว้ระหว่าง 2 ถนน จุดที่แน่นอน (เช่น ทางแยก) ช่วงที่ประมาณ ระบุว่ารหัสพิกัดหลังคาไม่สามารถใช้งานได้สำหรับที่อยู่"GEOMETRIC_CENTER"
แสดงผลเฉพาะเรขาคณิตเท่านั้น ศูนย์กลางของสถานที่ตั้ง เช่น เส้นประกอบ (ตัวอย่างเช่น ถนน) หรือ รูปหลายเหลี่ยม (ภูมิภาค)"APPROXIMATE"
จะแสดงผลเฉพาะที่อยู่ที่ มีลักษณะเป็นค่าประมาณ
extra_computations
— ใช้พารามิเตอร์นี้เพื่อระบุ คุณลักษณะเพิ่มเติมต่อไปนี้ในการตอบกลับ:ADDRESS_DESCRIPTORS
— ดู ข้อบ่งชี้ที่อยู่เพื่อดูรายละเอียดเพิ่มเติมBUILDING_AND_ENTRANCES
— ดู ทางเข้าและโครงร่างอาคาร
extra_computations
ในคำขอสำหรับแต่ละฟีเจอร์ เช่นextra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
หากมีทั้งตัวกรอง 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> ...
โปรดทราบว่าโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับแสดงผลลัพธ์มากกว่า 1 รายการ
ผลลัพธ์ "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
หมายเหตุ: ตัวกรองเหล่านี้ใช้ได้กับการแปลงพิกัดภูมิศาสตร์ย้อนกลับเท่านั้น
การตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
รูปแบบของการตอบสนองการระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับจะเหมือนกับการทำ Geocoding คำตอบ ดูการระบุพิกัดทางภูมิศาสตร์สำหรับการตอบกลับ ด้านล่างนี้คือรหัสสถานะที่เป็นไปได้ในการตอบกลับการแปลงพิกัดภูมิศาสตร์ย้อนกลับ
รหัสสถานะการแปลงพิกัดภูมิศาสตร์แบบย้อนกลับ
ฟิลด์ "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 ในการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
ฟิลด์ plus_code
ในการตอบกลับการระบุพิกัดทางภูมิศาสตร์มีโค้ด Plus ที่
ค่าประมาณละติจูดและลองจิจูดที่ค้นหาได้ดีที่สุด
นอกจากนี้ อาร์เรย์ผลลัพธ์ JSON ในกรณีส่วนใหญ่จะมีผลการจับคู่พิกัดภูมิศาสตร์แบบสมบูรณ์ที่มีประเภท plus_code
และที่อยู่ที่มีรหัสบวก ระยะห่างระหว่างโค้ด Plus ที่ถอดรหัสและจุดคำขอคือ
ระยะน้อยกว่า 10 เมตร