"خرائط Google" لمكتبة Android Utility

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

هل تبحث عن ميزات متقدّمة لإضافتها إلى خرائطك؟ مكتبة أدوات حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android هي مكتبة مفتوحة المصدر تتضمّن فئات مفيدة لمجموعة من التطبيقات. يتضمّن مستودع GitHub فئات الأدوات وتطبيق نموذجي يوضّح استخدام كل فئة.

في هذا الفيديو، يناقش "كريس برودفوت" مكتبة الأدوات، مع التركيز على ترميز الخطوط المتعددة والأشكال الهندسية الكروية وأيقونات الفقاعات.

إعداد سريع

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

المرافق

خريطة تحتوي على طبقة GeoJSON

استيراد ملف GeoJSON إلى خريطتك

يمكنك تخزين العناصر بتنسيق GeoJSON واستخدام هذه الأداة لعرضها كطبقة فوق خريطة. اتّصل برقم addLayer() لإضافة بيانات GeoJSON إلى الخريطة. يمكنك أيضًا إضافة عناصر فردية من خلال استدعاء addFeature()، مع إدخال عنصر GeoJsonFeature.

لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات حول Google Maps أداة GeoJSON لنظام التشغيل Android.

خريطة تتضمّن طبقة KML

استيراد ملف KML إلى خريطتك

باستخدام هذه الأداة، يمكنك تحويل عناصر KML إلى أشكال جغرافية وعرضها كطبقة فوق الخريطة. يُرجى الاتصال برقم addLayerToMap() لإضافة الطبقة إلى الخريطة. يمكنك الوصول إلى السمات في عنصر KML من خلال استدعاء getProperties() على أي عنصر علامة موقع أو عنصر "تداخل سطح الأرض" أو مستند أو مجلد.

لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات حول "خرائط Google" أداة KML لنظام التشغيل Android.

خريطة تتضمّن خريطة تمثيل لونية

إضافة خرائط حرارية إلى خريطتك

تسهّل خرائط التمثيل اللوني على المشاهدين فهم توزيع نقاط البيانات وكثافتها النسبية على الخريطة. بدلاً من وضع علامة في كل موقع جغرافي، تستخدم خرائط التمثيل اللوني اللون والشكل لتمثيل توزيع البيانات. أنشئ HeatmapTileProvider، مع تمريرها بمجموعة من عناصر LatLng التي تمثّل نقاط الاهتمام على الخريطة. بعد ذلك، أنشئ TileOverlay جديدًا، وأرسِل إليه مقدّم مربّعات خريطة الحرارة، ثم أضِف تراكب المربّعات إلى الخريطة.

لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات حول "خرائط Google" أداة "خريطة الحرارة" على Android.

خريطة تتضمّن رموز فقاعات

تخصيص العلامات من خلال رموز الفقاعات

أضِف IconGenerator لعرض مقتطفات من المعلومات على العلامات. توفّر هذه الأداة طريقة لجعل رموز العلامات تبدو مثل نوافذ المعلومات، حيث يمكن أن تحتوي العلامة نفسها على نص ومحتوى آخر. وتتمثل الميزة في أنّه يمكنك إبقاء أكثر من علامة واحدة مفتوحة في الوقت نفسه، في حين يمكن فتح نافذة معلومات واحدة فقط في كل مرة. يمكنك أيضًا تصميم العلامات وتغيير اتجاه العلامة و/أو المحتوى، وتغيير صورة خلفية العلامة/التقسيم التسعة.

خريطة تتضمّن علامات مجمّعة

إدارة مجموعات العلامات

يساعدك الرمز ClusterManager في إدارة علامات متعدّدة عند تغيير مستوى التكبير/التصغير. وهذا يعني أنّه يمكنك وضع عدد كبير من العلامات على الخريطة بدون أن تصبح الخريطة صعبة القراءة. عندما يطّلع المستخدم على الخريطة عند مستوى تكبير عالٍ، تظهر العلامات الفردية على الخريطة. عندما يقلّل المستخدم مستوى التكبير، يتم تجميع العلامات معًا في مجموعات لتسهيل عرض الخريطة.

لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات المتعلقة بأداة تجميع العلامات في "خرائط Google" على Android.

خريطة تتضمّن عدة طبقات

إضافة طبقات متعددة إلى الخريطة نفسها

يمكنك عرض عناصر من GeoJSON وKML والمجموعات، بالإضافة إلى العلامات والخطوط المتعددة والمضلّعات الخاصة بك، وكل ذلك على الخريطة نفسها. يمكن أيضًا جعل هذه الطبقات تفاعلية من خلال إضافة مستمع للنقر إلى كل طبقة. ما عليك سوى إنشاء مثيل للفئات MarkerManager وGroundOverlayManager PolygonManager وPolylineManager ونقلها إلى منشئي GeoJsonLayer وKmlLayer ClusterManager عند إعدادها. يمكنك بعد ذلك استخدام فئات Manager أعلاه مباشرةً لإضافة العلامات والخطوط المتعددة والمضلّعات إلى الخريطة.

لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات حول الإصدار التجريبي من "خرائط Google" المتعدّدة الطبقات على Android.

خريطة تتضمّن خطًا متعدّد الأضلاع مشفَّرًا

ترميز خطوط الالتفاف وفك ترميزها

يكون PolyUtil مفيدًا لتحويل الخطوط المتعددة المشفّرة و المضلّعات إلى إحداثيات خطوط العرض/الطول والعكس صحيح.

في "خرائط Google"، يتم تخزين إحداثيات خط العرض وخط الطول التي تحدِّد الخط المتعدّد الأضلاع أو المضلّع كسلسلة مُشفَّرة. اطّلِع على الشرح التفصيلي عن ترميز خطوط الالتفاف. قد تتلقّى هذه السلسلة المشفَّرة في ردّ من Google API، مثل Directions API (القديمة).

يمكنك استخدام PolyUtil في مكتبة أدوات ‎Maps SDK for Android لتشفير تسلسل إحداثيات خط العرض/خط الطول (LatLngs) في سلسلة مسار مشفَّرة، وفك تشفير سلسلة مسار مشفَّرة في تسلسل LatLngs. سيضمن ذلك إمكانية التشغيل التفاعلي مع خدمات الويب لواجهة برمجة التطبيقات في "خرائط Google".

المسافة المحسوبة بين نقطتَين على الخريطة

حساب المسافات والمساحات والاتجاهات باستخدام الهندسة الكروية

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

  • computeDistanceBetween() – لعرض المسافة، بالكيلومترات، بين إحداثيتَي خط العرض/الطول
  • computeHeading() – لعرض الاتجاه، بالقياس بالدرجات، بين إحداثي خط العرض/خط الطول
  • computeArea() – لعرض مساحة مسار مغلق على سطح Earth بالمتر المربّع
  • interpolate() – لعرض إحداثيات خط الطول/العرض لنقطة تقع على مسافة محددة من نقطتَين معيّنتَين. يمكنك استخدام هذه الميزة لإضافة تأثير متحرك إلى علامة بين نقطتَين، على سبيل المثال.

يُرجى الرجوع إلى مستندات المرجع للحصول على قائمة كاملة بالأساليب في الأداة.

التحقّق مما إذا كان الموقع الجغرافي متوافقًا مع ميزة "التجوّل الافتراضي"

تأكَّد مما إذا كان الموقع الجغرافي متوافقًا مع ميزة "التجوّل الافتراضي".

توفّر فئة StreetViewUtil وظيفة للتحقّق مما إذا كان الموقع الجغرافي متوافقًا مع ميزة "التجوّل الافتراضي". يمكنك تجنُّب الأخطاء عند إضافة panorama "صورة بانورامية" من "التجوّل الافتراضي" إلى تطبيق Android من خلال استدعاء أداة البيانات الوصفية هذه وعدم إضافة صورة بانورامية من "التجوّل الافتراضي" إلا إذا كان الردّ هو OK.

للاطّلاع على التفاصيل، يُرجى الاطّلاع على المستندات حول أداة البيانات الوصفية في "التجوّل الافتراضي" على GitHub.