Region Lookup API ช่วยให้คุณค้นหารหัสสถานที่สำหรับ ภูมิภาค ซึ่งคุณสามารถใช้เพื่อจัดรูปแบบรูปหลายเหลี่ยมขอบเขตในการจัดรูปแบบตามข้อมูลสำหรับขอบเขต 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 typings ที่คุณต้องนำเข้าไปยังโค้ด
สำหรับคำขอการค้นหาภูมิภาค ให้นำเข้าข้อมูลต่อไปนี้
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 เป็นCOUNTRYlanguageรหัสภาษา 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_1matched_place_idผลลัพธ์: รหัสสถานที่สำหรับแคลิฟอร์เนีย ส่วนประเภทอื่นๆ ที่รองรับจะแสดงผลว่าไม่พบรายการที่ตรงกัน
หาก unit_code คือ "6" (รหัส FIPS สำหรับแคลิฟอร์เนีย) place_type คือ ADMINISTRATIVE_AREA_LEVEL_1
และ region_code คือ "US" API จะแสดงรหัสสถานที่สำหรับแคลิฟอร์เนีย
place_type:ADMINISTRATIVE_AREA_LEVEL_1region_code:USmatched_place_idผลลัพธ์: รหัสสถานที่สำหรับแคลิฟอร์เนีย ส่วนประเภทอื่นๆ ที่รองรับจะแสดงผลว่าไม่พบรายการที่ตรงกัน
หาก unit_code เป็น "US" API จะแสดงผลลัพธ์ต่อไปนี้เมื่อระบุ place_type ต่อไปนี้
place_type:COUNTRYmatched_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เมื่อมีการระบุaddresslanguageรหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" หากไม่ได้ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น en-US
ตัวอย่างต่อไปนี้แสดงคำขอการค้นหาสำหรับเบอร์แบงก์ แคลิฟอร์เนีย
// 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 |
สตริง | ชื่อของภูมิภาคที่จะจับคู่กับรหัสสถานที่ ใช้ฟิลด์
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 |
สตริง | รหัสรัฐหรือรหัสเขตของ FIPS (สหรัฐอเมริกาเท่านั้น) หรือรหัสประเทศ 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" รหัสหน่วยที่ถูกต้องอาจเป็น "6" (รหัส FIP สำหรับแคลิฟอร์เนีย) หรือ "12"(รหัส FIP สำหรับ
ฟลอริดา) หาก place_type คือ ADMINISTRATIVE_AREA_LEVEL_2
(county) และ region_code คือ "US" รหัส unit_code ที่ถูกต้องอาจเป็น "6001" (รหัส FIPs
สำหรับ Alameda County ในแคลิฟอร์เนีย) หรือ "12086" (รหัส FIPs สำหรับ Miami-Dade
County ในฟลอริดา) region_code ต้องระบุเมื่อระบุรหัส FIPS
ระบบจะละเว้น region_code สำหรับรหัสประเทศ ISO-3166-1
|
place_type |
PlaceType | ต้องระบุ ประเภทภูมิภาคที่จะจับคู่ |
region_code |
สตริง | รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับสถานที่ที่คุณพยายาม
จับคู่ region_code เป็นตัวเลือกหาก place_type เป็น `COUNTRY` |
language_code |
สตริง | รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ที่สอดคล้องกับ ภาษาที่ขอชื่อและที่อยู่ของสถานที่ หากไม่มีการขอภาษาใดเลย ระบบจะใช้ภาษาอังกฤษเป็นค่าเริ่มต้น |
SearchRegionRequestData ตัวระบุ
ต้องระบุ: address, latlng หรือ place_id อย่างใดอย่างหนึ่ง
| ช่อง | ประเภท | คำอธิบาย |
|---|---|---|
address |
สตริง | ที่อยู่แบบไม่มีโครงสร้างซึ่งอยู่ภายในภูมิภาคที่จะ
จับคู่ ต้องระบุ region_code เมื่อมีการระบุ address |
latlng |
LatLng | ละติจูดและลองจิจูดที่อยู่ในภูมิภาคที่จะจับคู่ |
place_id |
สตริง | รหัสสถานที่ที่อยู่ในภูมิภาคที่จะจับคู่ |
place_type |
ประเภทสถานที่ | ต้องระบุ ประเภทภูมิภาคที่จะจับคู่ |
language_code |
สตริง | รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ซึ่งสอดคล้องกับภาษาที่ใช้ขอ ชื่อและที่อยู่ของสถานที่ หากไม่มีการขอ ระบบจะใช้ภาษาอังกฤษเป็นค่าเริ่มต้น |
region_code |
สตริง | รหัสประเทศ/ภูมิภาค ISO-3166 แบบ 2 ตัวอักษรสำหรับสถานที่ตั้งที่จะจับคู่
ต้องระบุ region_code เมื่อมีการระบุที่อยู่ |
ประเภทสถานที่
| ค่า | คำอธิบาย |
|---|---|
POSTAL_CODE |
รหัสไปรษณีย์ตามที่ใช้ในการส่งจดหมายภายในประเทศ |
ADMINISTRATIVE_AREA_LEVEL_1 |
หน่วยงานพลเรือนระดับที่ 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 |
รหัสสถานที่ที่ตรงกันไม่อยู่ในรายการที่อนุญาตของประเภทสถานที่และประเทศ |