โดยทั่วไปแล้ว คำว่าการเข้ารหัสพิกัดภูมิศาสตร์หมายถึงการแปลรหัสที่มนุษย์อ่านได้ ที่อยู่ลงในตำแหน่งหนึ่งบนแผนที่ แต่กระบวนการทำตรงกันข้าม การแปลตำแหน่งบนแผนที่เป็นที่อยู่ที่มนุษย์อ่านได้นั้นเรียกว่า การเข้ารหัสภูมิศาสตร์ย้อนกลับ
คำขอการเข้ารหัสพิกัดภูมิศาสตร์แบบย้อนกลับ
พารามิเตอร์ที่จำเป็น
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
หมายถึงนิติบุคคลลำดับที่หนึ่งภายใต้ ย่าน สำหรับบางสถานที่อาจได้รับป้ายประเภทเพิ่มเติมประเภทใดประเภทหนึ่งต่อไปนี้sublocality_level_1
ถึงsublocality_level_5
ระดับย่านย่อยแต่ละระดับเป็นนิติบุคคลพลเรือน ยิ่งมาก ก็แสดงว่าค่า พื้นที่ทางภูมิศาสตร์neighborhood
หมายถึงย่านที่มีชื่อpremise
ระบุสถานที่ที่มีชื่อ ซึ่งมักเป็นอาคารหรือกลุ่มอาคารที่มีชื่อเดียวกันsubpremise
ระบุเอนทิตีระดับที่ 1 ที่อยู่ใต้สถานที่ที่มีชื่อ ซึ่งมักเป็นอาคารหลังเดียวภายในกลุ่มอาคารที่มีชื่อเดียวกัน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 Code
ช่อง plus_code
ภายในคำตอบการแปลงพิกัดภูมิศาสตร์มีโค้ด Plus ที่ใกล้เคียงกับละติจูดและลองจิจูดที่ค้นหามากที่สุด
นอกจากนี้ อาร์เรย์ผลลัพธ์ JSON ในกรณีส่วนใหญ่จะมีผลการจับคู่พิกัดภูมิศาสตร์แบบสมบูรณ์ที่มีประเภท plus_code
และที่อยู่ที่มีรหัสบวก ระยะห่างระหว่าง Plus Code ที่ถอดรหัสแล้วกับจุดที่ขอจะไม่เกิน 10 เมตร