من خلال واجهة برمجة التطبيقات Region Verification API، يمكنك العثور على أرقام تعريف الأماكن للمناطق، والتي يمكنك استخدامها لتصميم مضلّعات الحدود في النمط المستند إلى البيانات للحدود. تتيح واجهة برمجة التطبيقات للبحث عن المنطقة نوعين من الطلبات:
- يبحث البحث عن منطقة عن منطقة حسب اسم المكان أو رمز FIPS (الولايات والمقاطعات في الولايات المتحدة فقط) أو رمز البلد ISO-3166-1.
- باستخدام ميزة البحث عن منطقة، يتم البحث عن المنطقة التي تحتوي على موقع جغرافي محدّد كما هو محدّد من خلال العنوان أو
LatLng
أو معرّف المكان.
أنواع الأماكن المتاحة في المناطق
تتوفّر أنواع الأماكن التالية في المناطق:
country
وadministrative_area_level_1
وadministrative_area_level_2
وpostal_code
وlocality
.
تثبيت المكتبة
لاستخدام واجهة برمجة تطبيقات البحث عن المنطقة، يمكنك اتخاذ الخطوات التالية:
- تفعيل واجهة برمجة التطبيقات للبحث عن المنطقة في وحدة التحكّم
- تثبيت مكتبة مفتوحة المصدر:
npm install @googlemaps/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
نتائج: رقم تعريف المكان في الولايات المتحدة ولا تعرض جميع الأنواع المتوافقة الأخرى أي تطابق.
وفي حال عدم العثور على نتائج مطابقة، لم يتم ضبط السمة 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, 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"، يمكن أن تكون قيمة Place_name الصالحة هي "94109". إذا كانت قيمة السمة place_type هي "البلد"، يمكن أن تكون قيمة السمة place الصالحة "الولايات المتحدة" أو غير ذلك. ويجب استخدام السمة region_code عند تحديد السمة place ما لم تكن السمة place_type هي "البلد". |
unit_code |
سلسلة | تمثّل هذه السمة رموز الولاية أو المقاطعات (في الولايات المتحدة فقط) أو رمز البلد 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 (الولاية) وقيمة سمة رمز المنطقة إلى الولايات المتحدة (US)، يمكن أن تكون قيمة رمز unit_code الصالح هي 6 (رمز FIP لولاية كاليفورنيا) أو 12 (رمز FIP لولاية فلوريدا). إذا كانت قيمة 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 هي "البلد". |
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 |
رقم تعريف المكان المطابق غير مُدرَج في القائمة المسموح بها لنوع المكان والبلد. |