בעזרת Region Lookup API אתם יכולים למצוא את מזהי המקומות של אזורים, ולהשתמש בהם כדי לעצב פוליגונים של גבולות בסגנון מבוסס-נתונים לגבולות. Region Lookup API תומך בשני סוגים של בקשות:
- חיפוש אזור מחפש אזור לפי שם המקום, קוד 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
ייבוא יחסי תלות מהספרייה
ספריית הקוד הפתוח Region Lookup מספקת קבוצה של פונקציות וטיפוסי נתונים של 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 למיקום שרוצים להתאים. המאפיין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 הוא "California" ו-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:COUNTRY
matched_place_idתוצאות: מזהה מקום בארצות הברית. כל שאר הסוגים הנתמכים לא מחזירים התאמה.
אם לא נמצאה התאמה, matched_place_id לא מוגדר.
אם יש חוסר ודאות, מוחזרים מזהי מקומות מועמדים. לדוגמה, אם place הוא "Santa Clara County" ו-place_type הוא LOCALITY, מזהה המקום של Santa Clara County יוחזר כמועמד.
תשובה לחיפוש אזור בתמונה
האובייקט LookupRegionResponse מכיל matched_place_id אם נמצאה תוצאה. אם לא נמצאה תוצאה, מזהי מקומות עם רמת סמך נמוכה יותר מוחזרים כמזהים מועמדים, יחד עם קוד שגיאה שמכיל מידע על תוצאות ניפוי הבאגים.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
בקשות לחיפוש אזור בתמונה
כדי למצוא אזור שמכיל מיקום ספציפי, מפעילים את searchRegion ומציינים SearchRegionRequestData עם הפרמטרים הבאים:
-
addressאוlatlngאוplace_id(חובה) מכיל מחרוזת כתובת לא מובנית,latlng, או מזהה מקום שנמצא באזור (לדוגמה נקודת עניין, בניין וכו'). אם לא צוין אף אחד מהם, תוחזר שגיאה. place_type(חובה) הערך של סוג המקום של סוג האזור שרוצים לחפש.-
region_codeקוד מדינה או אזור בן שתי אותיות לפי תקן 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 אם נמצאה תוצאה. אם ההתאמה נכשלת, התשובה תכיל מזהה מקום אחד או יותר של מועמדים וקוד שגיאה.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
חומרי עזר
LookupRegionRequestData מזהים
| שדה | סוג | תיאור |
|---|---|---|
place |
מחרוזת | שם האזור שצריך להתאים למזהה מקום. כדי לחפש את מזהה המקום של האזור, משתמשים בשדה place בשילוב עם place_type. לדוגמה, אם הערך של place_type הוא "locality", ערך תקין של place יכול להיות "Palo Alto, CA". אם
place_type הוא POSTAL_CODE, ערך תקין של place_name יכול להיות
"94109". אם הערך של place_type הוא COUNTRY, ערך חוקי של place יכול להיות "United States" וכו'. צריך לציין את 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", ערך תקין של unit_code יכול להיות "6" (קוד FIPs של קליפורניה) או "12"(קוד FIPs של פלורידה). אם הערך של place_type הוא ADMINISTRATIVE_AREA_LEVEL_2 (מחוז) והערך של region_code הוא "US", ערך תקין של unit_code יכול להיות "6001" (קוד FIPs של מחוז אלמדה בקליפורניה) או "12086" (קוד FIPs של מחוז מיאמי-דייד בפלורידה). צריך לציין את region_code כשמציינים קוד FIPS. המערכת מתעלמת מהערך region_code בקודי מדינה בפורמט ISO-3166-1. |
place_type |
PlaceType | חובה. סוג האזור שרוצים להתאים. |
region_code |
מחרוזת | קוד מדינה או אזור בן שתי אותיות לפי תקן ISO-3166 למיקום שאתם מנסים להתאים. אם הערך של place_type הוא COUNTRY, הפרמטר region_code הוא אופציונלי. |
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 למיקום שרוצים להתאים.
צריך לציין את region_code כשמציינים כתובת. |
סוגי מקומות
| ערך | תיאור |
|---|---|
POSTAL_CODE |
מיקוד, כמו שמשתמשים בו בכתובת למשלוח דואר במדינה. |
ADMINISTRATIVE_AREA_LEVEL_1 |
חלוקה מנהלית מדרגה ראשונה מתחת לרמה הארצית. בארצות הברית, הרמות המנהליות האלה הן מדינות. |
ADMINISTRATIVE_AREA_LEVEL_2 |
חלוקה מנהלית מדרגה שנייה מתחת לרמה הארצית. בארצות הברית, הרמות המנהליות האלה הן מחוזות. |
LOCALITY |
ישות פוליטית של עיר או עיירה מאוגדת. |
COUNTRY |
הישות הפוליטית הלאומית, בדרך כלל סוג הסדר הגבוה ביותר. |
LatLng
אובייקט שמייצג זוג של קו רוחב וקו אורך. המיקום מיוצג על ידי זוג ערכים מסוג double שמייצגים את המעלות של קו הרוחב וקו האורך. אם לא צוין אחרת, האובייקט הזה חייב לעמוד בתקן WGS84. הערכים צריכים להיות בטווחים מנורמלים.
| שדה | סוג | תיאור |
|---|---|---|
latitude |
double | קו הרוחב במעלות. הערך חייב להיות בטווח [-90.0, +90.0].
לדוגמה 47.47583476464538. |
longitude |
double | קו האורך במעלות. הערך חייב להיות בטווח [-180.0, +180.0].
לדוגמה -121.73858779269906. |
קודי שגיאה
| ערך | תיאור |
|---|---|
UnknownError |
קרתה שגיאה לא ידועה. |
NoMatchFound |
הבקשה לא הניבה התאמה, כדאי לבדוק את candidate_place_ids
אם הוא זמין. |
AddressNotUnderstood |
המרת הכתובת לקואורדינטות (geocoding) נכשלה. |
PlaceTypeMismatch |
סוג המקום בתגובה לא תואם לסוג המקום בבקשה.
לדוגמה, נשלחה בקשה ל-locality אבל הוחזר administrative_area_level_2. |
MultipleCandidatesFound |
נמצאו כמה מועמדים שתואמים לקלט. בודקים את candidate_place_ids.
אם יש. |
PlaceNameNotUnderstood |
שם המקום שצוין לא תואם לאזור. |
UnitCodeNotFound |
קוד היחידה לא נמצא. מוודאים שקוד היחידה תקין ושהוא צוין בפורמט הנכון. |
PlaceTypeNotAllowed |
מזהה המקום התואם לא נמצא ברשימת ההיתרים של סוג המקום והמדינה. |