با منطقه جستجوی API، میتوانید شناسههای مکان را برای مناطق پیدا کنید، که میتوانید از آنها برای استایل دادن به چند ضلعیهای مرزی در استایلسازی مبتنی بر داده برای مرزها استفاده کنید. Region Lookup API از دو نوع درخواست پشتیبانی می کند:
- جستجوی منطقه یک منطقه را بر اساس نام مکان، کد FIPS (فقط ایالت ها و شهرستان های ایالات متحده) یا کد کشور ISO-3166-1 جستجو می کند.
- جستجوی منطقه منطقهای را جستجو میکند که حاوی یک مکان خاص است که توسط یک آدرس،
LatLng
یا شناسه مکان مشخص شده است.
انواع مکان منطقه پشتیبانی شده
انواع مکان های منطقه زیر پشتیبانی می شوند: country
، administrative_area_level_1
، administrative_area_level_2
، postal_code
، locality
.
کتابخانه را نصب کنید
برای استفاده از Region Lookup API، این مراحل را انجام دهید:
- منطقه جستجوی 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 کشور/منطقه برای مطابقت مکان. اگر place_typeCOUNTRY
باشدregion_code
اختیاری است. -
language
کد زبان BCP-47، مانند "en-US" یا "sr-Latn". اگر هیچ کدام مشخص نشده باشد، پیشفرض en-US است.
مثال زیر یک درخواست جستجو برای Newark، NJ را نشان می دهد.
// 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
: شناسه مکان برای ایالات متحده. همه انواع دیگر پشتیبانی شده هیچ مطابقی ندارند.
اگر مطابقت پیدا نشد matched_place_id
تنظیم نشده است.
در صورت ابهام، شناسنامه محل کاندیدا عودت داده می شود. به عنوان مثال، اگر place
"شهرستان سانتا کلارا" و place_type
LOCALITY
باشد، شناسه مکان برای شهرستان سانتا کلارا به عنوان نامزد برگردانده می شود.
پاسخ جستجوی منطقه
اگر نتیجه ای پیدا شد، شی LookupRegionResponse
حاوی یک matched_place_id
است. اگر نتیجه ای پیدا نشد، شناسه های مکان با اطمینان کمتر به عنوان شناسه های نامزد، همراه با یک کد خطا حاوی اطلاعات اشکال زدایی برگردانده می شوند.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
درخواست های جستجوی منطقه
برای یافتن منطقهای که حاوی یک مکان خاص است، searchRegion
فراخوانی کنید و SearchRegionRequestData
با پارامترهای زیر مشخص کنید:
-
address
یاlatlng
یاplace_id
(الزامی) شامل یک رشته آدرس بدون ساختار،latlng
، یا شناسه مکان موجود در منطقه است (به عنوان مثال POI، ساختمان و غیره). اگر هیچ یک مشخص نشده باشد، یک خطا برگردانده می شود. -
place_type
(لازم) مقدار نوع مکان برای نوع منطقه ای که باید جستجو شود. -
region_code
کد دو حرفی ISO-3166 کشور/منطقه برای مطابقت مکان.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
است. در مورد تطابق ناموفق، پاسخ حاوی یک یا چند شناسه مکان نامزد و یک کد خطا است.
{ "matches": [ { "matchedPlaceId": "ChIJPV4oX_65j4ARVW8IJ6IJUYs" } ] }
مرجع
شناسه های LookupRegionRequestData
میدان | تایپ کنید | توضیحات |
---|---|---|
place | رشته | نام منطقه برای مطابقت با شناسه مکان. از فیلد place در ترکیب با place_type برای جستجوی شناسه مکان منطقه استفاده کنید. به عنوان مثال اگر place_type "محلی" باشد، یک place معتبر می تواند "Palo Alto, CA" باشد. اگر place_type «POSTAL_CODE» باشد، یک مکان_نام معتبر میتواند «94109» باشد. اگر place_type "COUNTRY" باشد، یک place معتبر می تواند "ایالات متحده" باشد، و غیره. 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 Code for United States) یا "BR" (ISO-3166-1 Alpha-2 Code for Brazil) باشد. اگر place_type ADMINISTRATIVE_AREA_LEVEL_1 (ایالت) و region_code "US" باشد، یک unit_code معتبر می تواند "6" (کد FIP برای کالیفرنیا) یا "12" (کد FIP برای فلوریدا) باشد. اگر محل_نوع ADMINISTRATIVE_AREA_LEVEL_2 (شهرستان) و منطقه_کد "US" باشد، یک واحد_کد معتبر می تواند "6001" (کد FIP برای شهرستان آلامدا در کالیفرنیا) یا "12086" (کد FIP برای شهرستان میامی داد در فلوریدا) باشد. region_code هنگام تعیین یک کد FIP مورد نیاز است. 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
شیئی که نشان دهنده یک جفت طول و عرض جغرافیایی است. این به صورت یک جفت دوتایی برای نشان دادن درجه عرض جغرافیایی و درجه طول جغرافیایی بیان می شود. مگر اینکه طور دیگری مشخص شده باشد، این شی باید با استاندارد WGS84 مطابقت داشته باشد. مقادیر باید در محدوده نرمال شده باشند.
میدان | تایپ کنید | توضیحات |
---|---|---|
latitude | دو برابر کردن | عرض جغرافیایی بر حسب درجه باید در محدوده [-90.0, +90.0] باشد. به عنوان مثال 47.47583476464538 . |
longitude | دو برابر کردن | طول جغرافیایی بر حسب درجه باید در محدوده [-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 | شناسه مکان منطبق در لیست مجاز نوع مکان و کشور نیست. |