Geocoding API هي خدمة توفّر الترميز الجغرافي وعكس الترميز الجغرافي للعناوين.
الترميز الجغرافي هو عملية تحويل العناوين (مثل عنوان الشارع) إلى إحداثيات جغرافية (مثل خطوط العرض والطول)، والتي يمكنك استخدامها لوضع العلامات على الخريطة أو تحديد موضع الخريطة.
عكس الترميز الجغرافي هو عملية تحويل الإحداثيات الجغرافية إلى عنوان يمكن لشخص عادي قراءتها.
يمكنك أيضًا استخدام Geocoding API للعثور على عنوان رقم تعريف مكان معيّن.
نموذج الطلب والردّ
يمكنك الوصول إلى Geocoding API من خلال واجهة HTTP. في ما يلي أمثلة على طلبات الترميز الجغرافي وعكس الترميز الجغرافي.
طلب الترميز الجغرافي والردّ عليه (البحث عن خطوط الطول والعرض)
يطلب المثال التالي خط العرض وخط الطول لـ "1600 Amphitheatre Parkway, Mountain View, CA"، ويحدّد أنّ الناتج يجب أن يكون بتنسيق JSON.
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY
يمكنك اختبار ذلك من خلال إدخال عنوان URL في متصفّح الويب (تأكَّد من استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات الفعلي).
يتضمّن الردّ خط العرض وخط الطول الخاصين بالعنوان.
يمكنك الاطّلاع على دليل المطوّر لمزيد من المعلومات حول إنشاء عناوين URL لطلبات الترميز الجغرافي و المَعلمات المتاحة و فهم الردّ.
في ما يلي نموذج استجابة الترميز الجغرافي بتنسيق JSON:
{ "results" : [ { "address_components" : [ { "long_name" : "1600", "short_name" : "1600", "types" : [ "street_number" ] }, { "long_name" : "Amphitheatre Parkway", "short_name" : "Amphitheatre Pkwy", "types" : [ "route" ] }, { "long_name" : "Mountain View", "short_name" : "Mountain View", "types" : [ "locality", "political" ] }, { "long_name" : "Santa Clara County", "short_name" : "Santa Clara County", "types" : [ "administrative_area_level_2", "political" ] }, { "long_name" : "California", "short_name" : "CA", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "United States", "short_name" : "US", "types" : [ "country", "political" ] }, { "long_name" : "94043", "short_name" : "94043", "types" : [ "postal_code" ] } ], "formatted_address" : "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "geometry" : { "location" : { "lat" : 37.4267861, "lng" : -122.0806032 }, "location_type" : "ROOFTOP", "viewport" : { "northeast" : { "lat" : 37.4281350802915, "lng" : -122.0792542197085 }, "southwest" : { "lat" : 37.4254371197085, "lng" : -122.0819521802915 } } }, "place_id" : "ChIJtYuu0V25j4ARwu5e4wwRYgE", "plus_code" : { "compound_code" : "CWC8+R3 Mountain View, California, United States", "global_code" : "849VCWC8+R3" }, "types" : [ "street_address" ] } ], "status" : "OK" }
طلب الترميز الجغرافي العكسي والردّ عليه (البحث عن العنوان)
يطلب المثال التالي العنوان المقابل لخط عرض/خط طول معيّن في بروكلين، نيويورك، الولايات المتحدة الأمريكية. ويحدّد أنّ الناتج يجب أن يكون بتنسيق JSON.
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEYيمكنك اختبار ذلك من خلال إدخال عنوان URL في متصفّح الويب (احرص على استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات الفعلي). يتضمّن الردّ عنوانًا يمكن لشخص عادي قراءته للموقع الجغرافي الذي يحدّده خط العرض وخط الطول.
يمكنك الاطّلاع على دليل المطوّر لمزيد من المعلومات حول إنشاء عناوين URL لطلبات عكس الترميز الجغرافي و المَعلمات المتاحة و فهم الردّ.
في ما يلي نموذج استجابة لطلب عكس الترميز الجغرافي بتنسيق JSON:
{ "plus_code" : { "compound_code" : "P27Q+MC New York, NY, USA", "global_code" : "87G8P27Q+MC" }, "results" : [ { "address_components" : [ { "long_name" : "279", "short_name" : "279", "types" : [ "street_number" ] }, { "long_name" : "Bedford Avenue", "short_name" : "Bedford Ave", "types" : [ "route" ] }, { "long_name" : "Williamsburg", "short_name" : "Williamsburg", "types" : [ "neighborhood", "political" ] }, { "long_name" : "Brooklyn", "short_name" : "Brooklyn", "types" : [ "political", "sublocality", "sublocality_level_1" ] }, { "long_name" : "Kings County", "short_name" : "Kings County", "types" : [ "administrative_area_level_2", "political" ] }, { "long_name" : "New York", "short_name" : "NY", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "United States", "short_name" : "US", "types" : [ "country", "political" ] }, { "long_name" : "11211", "short_name" : "11211", "types" : [ "postal_code" ] } ], "formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA", "geometry" : { "location" : { "lat" : 40.7142484, "lng" : -73.9614103 }, "location_type" : "ROOFTOP", "viewport" : { "northeast" : { "lat" : 40.71559738029149, "lng" : -73.9600613197085 }, "southwest" : { "lat" : 40.71289941970849, "lng" : -73.96275928029151 } } }, "place_id" : "ChIJT2x8Q2BZwokRpBu2jUzX3dE", "plus_code" : { "compound_code" : "P27Q+MC Brooklyn, New York, United States", "global_code" : "87G8P27Q+MC" }, "types" : [ "bakery", "cafe", "establishment", "food", "point_of_interest", "store" ] }, ... Additional results truncated in this example[] ... ], "status" : "OK" }
بدء الترميز باستخدام مكتبات العملاء
تساعدك مكتبات البرامج للعملاء في التطوير باستخدام واجهات برمجة التطبيقات لخدمة الويب في "خرائط Google" من خلال توفير عمليات تنفيذ مضمّنة للمهام الشائعة، مثل المصادقة والحدّ من عدد الطلبات وإعادة المحاولة تلقائيًا. تتوفّر Geocoding API في برنامج Java وPython وGo وNode.js لخدمات "خرائط Google".
المصادقة والحصص والأسعار والسياسات
المصادقة
لاستخدام Geocoding API، يجب أولاً تفعيل واجهة برمجة التطبيقات والحصول على بيانات اعتماد المصادقة المناسبة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة بدء استخدام "منصة خرائط Google".
الحصص والأسعار
يمكنك الاطّلاع على صفحة الاستخدام والفوترة لمعرفة تفاصيل حول الحصص والأسعار المحدّدة لواجهة Geocoding API.
السياسات
يجب أن يكون استخدام Geocoding API متوافقًا مع سياسات واجهة برمجة التطبيقات.
مزيد من المعلومات
هناك المزيد من الإجراءات التي يمكنك تنفيذها باستخدام Geocoding API. راجِع دليل المطوّر لواجهة برمجة التطبيقات Geocoding API للحصول على عروض توضيحية وأمثلة إضافية، ومَعلمات متاحة، ورموز الحالة، ورسائل الخطأ، وتفاصيل أخرى.
يوضّح دليل المطوّرين لواجهة Geocoding API خدمة الويب الخاصة بواجهة Geocoding API. وهي مخصّصة لمطوّري المواقع الإلكترونية والأجهزة الجوّالة الذين يريدون استخدام بيانات الترميز الجغرافي ضمن الخرائط التي توفّرها إحدى واجهات برمجة التطبيقات في "منصة خرائط Google".