باستخدام واجهة برمجة التطبيقات 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
هو "كاليفورنيا" وplace_type
هو ADMINISTRATIVE_AREA_LEVEL_1
،
تعرض واجهة برمجة التطبيقات معرّف المكان لكاليفورنيا على أنّه 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"، ستُعرِض واجهة برمجة التطبيقات رقم تعريف المكان لكاليفورنيا:
place_type
:ADMINISTRATIVE_AREA_LEVEL_1
region_code
:US
matched_place_id
نتيجة: رقم تعريف المكان لكاليفورنيا ولا تُظهر جميع الأنواع المتوافقة الأخرى أي مطابقة.
إذا كانت قيمة unit_code
هي "US"، تعرض واجهة برمجة التطبيقات النتائج التالية عند تحديد 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
(سمة مطلوبة) قيمة نوع المكان لنوع المنطقة التي تريد البحث عنها.region_code
رمز البلد أو المنطقة المكوّن من حرفَين وفقًا لمعيار ISO-3166 للموقع الجغرافي المطلوب مطابقته تكون السمةregion_code
مطلوبة عند تحديد السمةaddress
.language
رمز اللغة وفقًا لمعيار BCP-47، مثل en-US أو sr-Latn إذا لم يتم تحديد أي لغة، يكون الخيار التلقائي هو en-US.
يوضّح المثال التالي طلب بحث عن مدينة Burbank في كاليفورنيا.
// 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 válida
هي "الولايات المتحدة" وما إلى ذلك. تكون قيمة 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 لflorida). إذا كانت قيمة سمة place_type هي ADMINISTRATIVE_AREA_LEVEL_2
(مقاطعة) وكانت قيمة سمة region_code هي "US"، يمكن أن تكون قيمة سمة unit_code صالحة هي "6001" (رمز FIPS
لمقاطعة Alameda في كاليفورنيا) أو "12086" (رمز FIPS لمقاطعة Miami-Dade
في فلوريدا). يجب إدخال region_code عند تحديد
رمز FIPs. يتم تجاهل region_code في رموز البلدان وفقًا لمعيار ISO-3166-1. |
place_type |
PlaceType | مطلوب. نوع المنطقة المطلوب مطابقتها. |
region_code |
سلسلة | رمز البلد أو المنطقة المكوّن من حرفَين وفقًا لمعيار ISO-3166 للموقع الجغرافي الذي تحاول
مطابقته. يكون رمز_المنطقة اختياريًا إذا كانت قيمة place_type هي "البلد". |
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 |
معرّف المكان المطابق غير مُدرَج في القائمة المسموح بها لنوع المكان والبلد. |