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
(ต้องระบุ) ค่า place type สำหรับประเภทสถานที่ที่จะค้นหาregion_code
รหัสประเทศ/ภูมิภาค 2 ตัวอักษรตามมาตรฐาน ISO-3166 สำหรับสถานที่ที่จะจับคู่ คุณจะระบุ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 ของแคลิฟอร์เนีย), 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
results: รหัสสถานที่สำหรับสหรัฐอเมริกา ส่วนประเภทอื่นๆ ทั้งหมดที่รองรับจะแสดงผลว่าไม่พบรายการที่ตรงกัน
หากไม่พบรายการที่ตรงกัน ระบบจะไม่ตั้งค่า matched_place_id
ระบบจะแสดงรหัสสถานที่ที่เป็นไปได้ในกรณีที่มีความคลุมเครือ เช่น หาก place
เป็น "ซานตาคลาราเคาน์ตี" และ place_type
เป็น LOCALITY
ระบบจะแสดงรหัสสถานที่สำหรับซานตาคลาราเคาน์ตีเป็นตัวเลือก
การตอบกลับการค้นหาภูมิภาค
ออบเจ็กต์ LookupRegionResponse
มี matched_place_id
หากพบผลลัพธ์ หากไม่พบผลลัพธ์ ระบบจะแสดงรหัสสถานที่ที่มีความเชื่อมั่นต่ำเป็นรหัสผู้สมัคร พร้อมกับรหัสข้อผิดพลาดที่มีข้อมูลการแก้ไขข้อบกพร่อง
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
คำขอการค้นหาเฉพาะส่วน
หากต้องการค้นหาภูมิภาคที่มีสถานที่ตั้งที่เฉพาะเจาะจง ให้เรียกใช้ searchRegion
โดยระบุ SearchRegionRequestData
พร้อมพารามิเตอร์ต่อไปนี้
address
หรือlatlng
หรือplace_id
(ต้องระบุ) มีสตริงที่อยู่ที่ไม่มีโครงสร้างlatlng
หรือรหัสสถานที่ที่อยู่ในภูมิภาค (เช่น จุดที่น่าสนใจ อาคาร ฯลฯ) หากไม่ได้ระบุ ระบบจะแสดงผลข้อผิดพลาดplace_type
(ต้องระบุ) ค่า place type สำหรับประเภทภูมิภาคที่จะค้นหาregion_code
รหัสประเทศ/ภูมิภาค 2 ตัวอักษรตามมาตรฐาน ISO-3166 สำหรับสถานที่ที่จะจับคู่ ต้องระบุregion_code
เมื่อมีการระบุaddress
language
รหัสภาษา 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
identifiers
ช่อง | ประเภท | คำอธิบาย |
---|---|---|
place |
สตริง | ชื่อของภูมิภาคที่จะจับคู่กับรหัสสถานที่ ใช้ช่อง place ร่วมกับ place_type เพื่อค้นหารหัสสถานที่ของภูมิภาค เช่น หาก place_type คือ "locality" place ที่ถูกต้องอาจเป็น "Palo Alto, CA" หาก place_type เป็น "POSTAL_CODE" สถานที่ตั้งที่ถูกต้องอาจเป็น "94109" หาก place_type เป็น "COUNTRY" place ที่ถูกต้องอาจเป็น "United States" เป็นต้น จะต้องระบุ region_code เมื่อมีการระบุ place เว้นแต่ place_type จะเป็น "COUNTRY" |
unit_code |
สตริง | รหัสรัฐหรือรหัสเขตของ 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" (รหัส FIPS สำหรับอลาเมดาเคาน์ตีในแคลิฟอร์เนีย) หรือ "12086" (รหัส FIPS สำหรับไมอามีเดดเคาน์ตีในฟลอริดา) ต้องระบุ 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
identifiers
ต้องระบุ: address
, latlng
หรือ place_id
อย่างใดอย่างหนึ่ง
ช่อง | ประเภท | คำอธิบาย |
---|---|---|
address |
สตริง | ที่อยู่ซึ่งไม่มีโครงสร้างซึ่งอยู่ภายในภูมิภาคที่จะจับคู่ ต้องระบุ region_code เมื่อมีการระบุ address |
latlng |
LatLng | ละติจูดและลองจิจูดที่อยู่ในภูมิภาคที่จะจับคู่ |
place_id |
สตริง | รหัสสถานที่ที่อยู่ในภูมิภาคที่จะจับคู่ |
place_type |
ประเภทสถานที่ | ต้องระบุ ประเภทของภูมิภาคที่จะจับคู่ |
language_code |
สตริง | รหัสภาษา BCP-47 เช่น "en-US" หรือ "sr-Latn" ซึ่งสอดคล้องกับภาษาที่ขอชื่อและที่อยู่ของสถานที่ หากไม่มีการขอ ภาษาจะเป็นภาษาอังกฤษโดยค่าเริ่มต้น |
region_code |
สตริง | รหัสประเทศ/ภูมิภาค 2 ตัวอักษรตามมาตรฐาน ISO-3166 สำหรับสถานที่ที่จะจับคู่
ต้องระบุ 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 |
รหัสสถานที่ที่ตรงกันไม่ได้อยู่ในรายการที่อนุญาตของประเภทสถานที่และประเทศ |