ใช้ Region Lookup API

คุณสามารถใช้ 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 ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดใช้ Region Lookup API ในคอนโซล
  2. ติดตั้งไลบรารีโอเพนซอร์ส: 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-1
  • place_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 รหัสสถานที่ที่ตรงกันไม่อยู่ในรายการที่อนุญาตของประเภทสถานที่และประเทศ