คุณสามารถใช้ Region Lookup API เพื่อหารหัสสถานที่สําหรับภูมิภาค ซึ่งใช้ในการจัดรูปแบบรูปหลายเหลี่ยมของขอบเขตในการจัดรูปแบบขอบเขตตามข้อมูลได้ Region Lookup API รองรับคำขอ 2 ประเภทดังนี้
- การค้นหาภูมิภาคจะค้นหาภูมิภาคตามชื่อสถานที่, รหัส FIPS (รัฐและเคาน์ตีในสหรัฐอเมริกาเท่านั้น) หรือรหัสประเทศ ISO-3166-1
- การค้นหาภูมิภาคจะค้นหาภูมิภาคที่มีสถานที่ตั้งเฉพาะเจาะจง
ตามที่อยู่,
LatLng
หรือรหัสสถานที่
ประเภทสถานที่ในภูมิภาคที่รองรับ
ประเภทสถานที่ในภูมิภาคต่อไปนี้คือ country
, administrative_area_level_1
, administrative_area_level_2
, postal_code
และ locality
ติดตั้งไลบรารี
หากต้องการใช้ Region Lookup API ให้ทำตามขั้นตอนต่อไปนี้
- เปิดใช้ Region Lookup API ในคอนโซล
- ติดตั้งไลบรารีโอเพนซอร์ส:
npm install @googlemaps/region-lookup
นำเข้าทรัพยากร Dependency จากไลบรารี
ไลบรารีโอเพนซอร์สของการค้นหาภูมิภาคมีชุดฟังก์ชันและการพิมพ์ TypeScript ที่คุณต้องนำเข้าไปยังโค้ดของคุณ
สำหรับคำขอการค้นหาภูมิภาค ให้นำเข้ารายการต่อไปนี้
import { lookupRegion, LookupRegionRequestData, LookupRegionResponseData, LookupRegionResponse, RegionIdentifier } from "@googlemaps/region-lookup";
สำหรับคำขอการค้นหาภูมิภาค ให้นำเข้ารายการต่อไปนี้:
import { searchRegion, RegionSearchValue, SearchRegionRequestData, SearchRegionResponse } from "@googlemaps/region-lookup";
คำขอค้นหาภูมิภาค
คำขอค้นหาภูมิภาคจะใช้ชื่อสถานที่หรือรหัสตัวระบุ แล้วแสดงผลรหัสสถานที่ หากต้องการค้นหาภูมิภาค ให้เรียกใช้ lookupRegion()
โดยระบุ LookupRegionRequestData
ด้วยพารามิเตอร์ต่อไปนี้
place
หรือunit_code
(ต้องระบุ) ชื่อภูมิภาค (place
) หรือunit_code
ของสถานที่unit_code
อาจเป็นรหัส FIPS (รัฐและเคาน์ตีในสหรัฐอเมริกาเท่านั้น) หรือรหัสประเทศ ISO-3166-1place_type
(ต้องระบุ) ค่าประเภทสถานที่สำหรับประเภทสถานที่ที่ต้องการค้นหาregion_code
รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับสถานที่ตั้งที่ตรงกันregion_code
เป็นตัวเลือกที่ไม่บังคับหาก Place_type เป็นCOUNTRY
language
รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" หากไม่ได้ระบุ ค่าเริ่มต้นจะเป็น en-US
ตัวอย่างต่อไปนี้แสดงคำขอค้นหาสำหรับเมืองนวร์ก รัฐนิวเจอร์ซีย์
// Headers const headers = { "X-Goog-Api-Key": "YOUR API KEY", }; const data: LookupRegionRequestData = { identifiers: [ { "place": "newark", "place_type": "locality", "region_code": "us", "language": "en", }, ], }; const response: LookupRegionResponse = await RegionLookup.lookupRegion({ headers, data });
ต้องระบุพารามิเตอร์ place
หรือ unit_code
ถ้าไม่ได้ระบุไว้
ระบบจะแสดงข้อผิดพลาด
ต้องมีพารามิเตอร์ region_code
เว้นแต่ place_type
คือ COUNTRY
place
และ unit_code
ระบุสถานที่ตั้งที่จะจับคู่รหัสสถานที่ ตัวอย่างเช่น หาก place
คือ "แคลิฟอร์เนีย" และ place_type
คือ ADMINISTRATIVE_AREA_LEVEL_1
API จะแสดงรหัสสถานที่ของแคลิฟอร์เนียเป็น matched_place_id
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
ผลการค้นหา
matched_place_id
รายการ: รหัสสถานที่ของแคลิฟอร์เนีย ส่วนประเภทอื่นๆ ที่รองรับทั้งหมดจะแสดงผลว่าไม่ตรงกัน
หาก unit_code
คือ "6" (FIPS Code สำหรับแคลิฟอร์เนีย) place_type
จะเป็น ADMINISTRATIVE_AREA_LEVEL_1
และ region_code
คือ "US" API จะแสดงรหัสสถานที่สำหรับแคลิฟอร์เนีย
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
region_code
:US
ผลการค้นหา
matched_place_id
รายการ: รหัสสถานที่ของแคลิฟอร์เนีย ส่วนประเภทอื่นๆ ที่รองรับทั้งหมดจะแสดงผลว่าไม่ตรงกัน
หาก unit_code
เป็น "US" API จะแสดงผลลัพธ์ต่อไปนี้เมื่อระบุ place_type
ต่อไปนี้
place_type
:COUNTRY
ผลการค้นหา
matched_place_id
รายการ: รหัสสถานที่สำหรับไทย ส่วนประเภทอื่นๆ ที่รองรับทั้งหมดจะแสดงผลว่าไม่ตรงกัน
หากไม่พบรายการที่ตรงกัน แสดงว่าไม่ได้ตั้งค่า matched_place_id
ระบบจะแสดงรหัสสถานที่ของผู้สมัครในกรณีที่ไม่ชัดเจน ตัวอย่างเช่น หาก place
คือ "ซานตาคลาราเคาน์ตี" และ place_type
คือ LOCALITY
ระบบจะส่งรหัสสถานที่สำหรับเทศมณฑลซานตาคลาราเป็นผู้สมัคร
การตอบกลับการค้นหาภูมิภาค
ออบเจ็กต์ LookupRegionResponse
มี matched_place_id
หากพบผลลัพธ์ หากไม่พบผลลัพธ์ ระบบจะแสดงผลรหัสตำแหน่งที่มีความเชื่อมั่นต่ำเป็นรหัสผู้สมัคร พร้อมด้วยรหัสข้อผิดพลาดที่มีข้อมูลการแก้ไขข้อบกพร่อง
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
คำขอการค้นหาภูมิภาค
หากต้องการค้นหาภูมิภาคที่มีสถานที่ตั้งที่เฉพาะเจาะจง ให้เรียกใช้ searchRegion
โดยระบุ SearchRegionRequestData
ด้วยพารามิเตอร์ต่อไปนี้
address
หรือlatlng
หรือplace_id
(ต้องระบุ) ประกอบด้วยสตริงที่อยู่ที่ไม่มีโครงสร้างlatlng
หรือรหัสสถานที่ที่มีภูมิภาค (เช่น จุดที่น่าสนใจ อาคาร และอื่นๆ) ถ้าไม่ได้ระบุไว้ ระบบจะแสดงข้อผิดพลาดplace_type
(ต้องระบุ) ค่าประเภทสถานที่สำหรับประเภทภูมิภาคที่จะค้นหาregion_code
รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับสถานที่ตั้งที่ตรงกัน ต้องระบุregion_code
เมื่อระบุaddress
language
รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" หากไม่ได้ระบุ ค่าเริ่มต้นจะเป็น en-US
ตัวอย่างต่อไปนี้แสดงคำขอค้นหาสำหรับ Burbank, CA
// Headers const headers = { "X-Goog-Api-Key": "YOUR API KEY", }; const data: SearchRegionRequestData = { search_values: [ { "address": "2627 N Hollywood Way, Burbank, CA" , "place_type": "locality" as const, "region_code": "us" }, ], }; const response = await regionLookupClient.searchRegion({ headers, data });
การตอบสนองต่อการค้นหาตามภูมิภาค
ออบเจ็กต์ SearchRegionResponse
มี matched_place_id
หากพบผลลัพธ์ ในกรณีที่การจับคู่ล้มเหลว การตอบกลับจะมีรหัสสถานที่ของผู้สมัครและรหัสข้อผิดพลาดอย่างน้อย 1 รายการ
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
ข้อมูลอ้างอิง
ตัวระบุ LookupRegionRequestData
รายการ
ฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
place |
string | ชื่อของภูมิภาคที่จะจับคู่กับรหัสสถานที่ ใช้ช่อง place ร่วมกับ place_type เพื่อค้นหารหัสสถานที่ของภูมิภาค ตัวอย่างเช่น หาก place_type เป็น "locality" place ที่ถูกต้องอาจเป็น "Palo Alto, CA" ได้ หาก place_type เป็น "POSTAL_CODE" ชื่อสถานที่ที่ถูกต้องอาจเป็น "94109" ได้ หาก place_type คือ "COUNTRY" place ที่ถูกต้องอาจเป็น "สหรัฐอเมริกา" ได้ ฯลฯ ต้องใช้ region_code เมื่อระบุ place เว้นแต่ place_type จะเป็น "COUNTRY" |
unit_code |
string | รหัสรัฐหรือเขต FIP (สหรัฐอเมริกาเท่านั้น) หรือรหัสประเทศ ISO-3166-1 ที่จะจับคู่ ช่อง unit_code ใช้ร่วมกับ place_type เพื่อค้นหารหัสสถานที่ของภูมิภาค ตัวอย่างเช่น หาก place_type คือ COUNTRY รหัส unit_code ที่ถูกต้องอาจเป็น "US" (รหัส ISO-3166-1 Alpha-2 สำหรับสหรัฐอเมริกา) หรือ "BR" (ISO-3166-1 รหัส Alpha-2 สำหรับบราซิล) หาก place_type คือ ADMINISTRATIVE_AREA_LEVEL_1 (รัฐ) และregion_code คือ "US" ค่า unit_code ที่ถูกต้องอาจเป็น "6" (รหัส FIP สำหรับแคลิฟอร์เนีย) หรือ "12"(รหัส FIP สำหรับฟลอริดา) หาก Place_type คือ ADMINISTRATIVE_AREA_LEVEL_2 (county) และregion_code คือ "US" รหัส unit_code ที่ถูกต้องอาจเป็น "6001" (รหัส FIP สำหรับเคาน์ตีอลาเมดาในแคลิฟอร์เนีย) หรือ "12086" (รหัส FIP สำหรับเคาน์ตีไมอามีเดดในฟลอริดา) ต้องระบุ region_code เมื่อระบุรหัส FIP ระบบจะละเว้น region_code สำหรับรหัสประเทศ ISO-3166-1 |
place_type |
PlaceType | ต้องระบุ ประเภทของภูมิภาคที่จะจับคู่ |
region_code |
string | รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับสถานที่ที่คุณพยายามจับคู่ คุณจะใส่รหัสภูมิภาค [region_code] หรือไม่ก็ได้หาก place_type เป็น "COUNTRY" |
language_code |
string | รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ที่ตรงกับภาษาที่ขอชื่อและที่อยู่ของสถานที่ หากไม่มีคำขอ ระบบจะใช้ภาษาอังกฤษเป็นค่าเริ่มต้น |
ตัวระบุ SearchRegionRequestData
รายการ
ต้องระบุ: 1 จาก address
, latlng
หรือ place_id
ฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
address |
string | ที่อยู่ที่ไม่มีโครงสร้างที่อยู่ภายในภูมิภาคที่จะจับคู่ ต้องระบุ region_code เมื่อระบุ address |
latlng |
LatLng | ละติจูดและลองจิจูดที่อยู่ในภูมิภาคที่จะจับคู่ |
place_id |
string | รหัสสถานที่ที่อยู่ภายในภูมิภาคที่จะจับคู่ |
place_type |
ประเภทสถานที่ | ต้องระบุ ประเภทของภูมิภาคที่จะจับคู่ |
language_code |
string | รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ที่ตรงกับภาษาที่ขอชื่อและที่อยู่ของสถานที่ หากไม่มีคำขอ ระบบจะใช้ภาษาอังกฤษเป็นค่าเริ่มต้น |
region_code |
string | รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับการจับคู่สถานที่ตั้ง
ต้องระบุ region_code เมื่อระบุที่อยู่ |
ประเภทสถานที่
ค่า | คำอธิบาย |
---|---|
POSTAL_CODE |
รหัสไปรษณีย์ ซึ่งใช้สำหรับระบุที่อยู่ทางไปรษณีย์ภายในประเทศ |
ADMINISTRATIVE_AREA_LEVEL_1 |
หน่วยงานพลเรือนที่มีการสั่งซื้อครั้งแรกซึ่งต่ำกว่าระดับประเทศ ภายในสหรัฐอเมริกา ระดับการดูแลระบบเหล่านี้คือรัฐ |
ADMINISTRATIVE_AREA_LEVEL_2 |
นิติบุคคลลำดับที่ 2 ที่อยู่ต่ำกว่าระดับประเทศ ระดับการดูแลระบบเหล่านี้คือเทศมณฑลในสหรัฐอเมริกา |
LOCALITY |
หน่วยงานทางการเมืองที่จัดตั้งขึ้นในเมือง |
COUNTRY |
หน่วยงานทางการเมืองระดับชาติ ซึ่งโดยปกติแล้วจะเป็นประเภทลำดับสูงสุด |
LatLng
วัตถุที่แสดงคู่ละติจูด/ลองจิจูด ค่านี้จะแสดงเป็นคู่ของเลขคู่เพื่อแสดงองศาละติจูดและองศาลองจิจูด ออบเจ็กต์นี้ต้องเป็นไปตามมาตรฐาน WGS84 เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าต้องอยู่ในช่วงมาตรฐาน
ฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
latitude |
double | ละติจูด หน่วยเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]
เช่น 47.47583476464538 |
longitude |
double | ลองจิจูด หน่วยเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]
เช่น -121.73858779269906 |
รหัสข้อผิดพลาด
ค่า | คำอธิบาย |
---|---|
UnknownError |
เกิดข้อผิดพลาดที่ไม่รู้จัก |
NoMatchFound |
คำขอไม่พบผลลัพธ์ที่ตรงกัน โปรดตรวจสอบ candidate_place_ids หากมี |
AddressNotUnderstood |
เข้ารหัสพิกัดภูมิศาสตร์สำหรับที่อยู่ที่ระบุไม่สำเร็จ |
PlaceTypeMismatch |
ประเภทสถานที่ในคำตอบไม่ตรงกับประเภทสถานที่ของคำขอ
ตัวอย่างเช่น มีการขอ locality แต่ส่งผลลัพธ์กลับมา administrative_area_level_2 |
MultipleCandidatesFound |
ระบบจับคู่ผู้สมัครหลายคนกับข้อมูลที่ป้อน โปรดดู candidate_place_ids
หากมี |
PlaceNameNotUnderstood |
แก้ไขชื่อสถานที่ที่ระบุเป็นภูมิภาคไม่สำเร็จ |
UnitCodeNotFound |
ไม่พบรหัสหน่วย ตรวจสอบว่ารหัสหน่วยถูกต้องและระบุไว้ในรูปแบบที่ถูกต้อง |
PlaceTypeNotAllowed |
รหัสสถานที่ที่ตรงกันไม่อยู่ในรายการที่อนุญาตของประเภทสถานที่และประเทศ |