استخدام Places Service وGeocoding API مع تنسيق مستند إلى البيانات للحدود

اختيار النظام الأساسي: Android‏ iOS‏ JavaScript‏

يمكنك استخدام "خدمة الأماكن" وGeocoding API مع Maps SDK لنظام التشغيل Android للبحث عن مناطق والحصول على مزيد من المعلومات حول الأماكن. تُعدّ خدمة Places API وGeocoding API بديلَين قويَّين ومستقرَّين للحصول على أرقام تعريف الأماكن. إذا كنت تستخدم أرقام تعريف الأماكن، يمكنك إعادة استخدامها مع ميزة "تصميم مستند إلى البيانات" للحدود.

أضِف "خدمة الأماكن" و"الترميز الجغرافي" إلى تطبيقاتك التي تستخدم "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android" بالطرق التالية:

  • Places SDK for Android هي مكتبة Android تحتوي على طرق لعرض معلومات حول الأماكن.
  • تعرض Places API معلومات حول الأماكن باستخدام طلبات HTTP.
  • يمكن لفئة Geocoder ترميز المواقع الجغرافية وعكس ترميزها بشكل ديناميكي من بيانات أدخلها المستخدم.
  • تتيح لك Geocoding API ترميز العناوين الثابتة المعروفة جغرافيًا.

استخدام "خدمة الأماكن"

استخدام ميزة "البحث النصي" (جديدة) للعثور على معرّف مكان

يمكنك استخدام واجهة البحث النصي (جديد) REST API في Places API للحصول على رقم تعريف المكان يتضمّن بيانات المنطقة من خلال تحديد places.id في قناع الحقل. لا يتم تحصيل أي رسوم مقابل استخدام ميزة "البحث النصي (جديد)" لطلب معرّفات الأماكن فقط. مزيد من المعلومات

على سبيل المثال، للحصول على رقم تعريف المكان الخاص بمدينة ترينيداد في كاليفورنيا، يمكنك إجراء طلب البيانات التالي من واجهة برمجة التطبيقات:

curl -X POST -d '{
  "textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

استخدام ميزة "الإكمال التلقائي للأماكن" للعثور على مناطق

توفّر خدمة الإكمال التلقائي للأماكن في حزمة تطوير البرامج (SDK) الخاصة بـ Places API لنظام التشغيل Android طريقة سهلة تتيح للمستخدمين البحث عن مناطق. لضبط خدمة "الإكمال التلقائي لأسماء الأماكن" كي تعرض المناطق فقط، استخدِم AutocompleteSupportFragment.setTypesFilter(List) لضبط فلتر النوع على PlaceTypes.REGIONS.

الحصول على تفاصيل مكان لمنطقة معيّنة

يمكن أن تكون خدمة تفاصيل المكان في Places SDK for Android مفيدة جدًا لأنّها تعرض بيانات خاصة بمنطقة معيّنة. يمكنك مثلاً:

  • البحث عن معرّفات الأماكن الحدودية استنادًا إلى أسماء الأماكن
  • الحصول على إطار العرض لتكبير الحدود
  • احصل على نوع الميزة للحدود (على سبيل المثال locality).
  • احصل على العنوان المنسَّق الذي يتم تحويله إلى "اسم المكان، الولاية، البلد" في منطقة الولايات المتحدة (على سبيل المثال، "أوتوموا، آيوا، الولايات المتحدة").
  • الحصول على بيانات مفيدة أخرى، مثل الصور

استخدام Geocoding API

تتيح لك Geocoding API تحويل عنوان إلى إحداثيات خطوط العرض والطول ورقم تعريف المكان، أو تحويل إحداثيات خطوط العرض والطول أو رقم تعريف المكان إلى عنوان. تتكامل الاستخدامات التالية بشكل جيد مع التنسيق المستند إلى البيانات للحدود:

  • استخدِم الترميز الجغرافي للحصول على إطار العرض لمنطقة معيّنة.
  • طبِّق فلترة المكوّنات على طلب Geocoding للحصول على معرّفات الأماكن الخاصة بالمناطق الإدارية من 1 إلى 4 أو الموقع الجغرافي أو الرمز البريدي.
  • استخدِم عكس الترميز الجغرافي للعثور على أرقام تعريف الأماكن حسب الإحداثيات، أو حتى إرجاع أرقام تعريف الأماكن لجميع المكوّنات في موقع جغرافي معيّن.

يستخدم المثال التالي عنوانًا (تم ترميزه لعنوان URL) لإرسال طلب إلى Geocoding API:

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

يمكنك استخدام عكس الترميز الجغرافي للعثور على أرقام تعريف الأماكن. تعرض دالة خدمة الترميز الجغرافي التالية أرقام تعريف الأماكن لجميع مكوّنات العنوان عند إحداثيات خط العرض وخط الطول المحدّدة:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

استخدِم عكس الترميز الجغرافي مع فلترة المكوّنات للحصول على مكوّن العنوان لواحد أو أكثر من الأنواع التالية في الموقع الجغرافي المحدّد:

  • administrativeArea
  • country
  • locality
  • postalCode

تعرض دالة المثال التالي كيفية استخدام خدمة الترميز الجغرافي، وإضافة قيود على المكوّنات باستخدام عكس الترميز الجغرافي للحصول على جميع مكوّنات العنوان في الموقع الجغرافي المحدّد لنوع locality فقط:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY