في هذا الفيديو، يناقش "كريس برودفوت" مكتبة الأدوات المساعدة، مع التركيز على
فك ترميز الخطوط المتعدّدة والهندسة الكروية ورموز الفقاعات.
إعداد سريع
لتثبيت مكتبة برامج الخدمات الخاصة بحزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android، اتّبِع دليل الإعداد.
المرافق
استيراد ملف GeoJSON إلى خريطتك
يمكنك تخزين الميزات بتنسيق GeoJSON واستخدام هذه الأداة لعرضها كطبقة فوق الخريطة.
استخدِم addLayer() لإضافة بيانات GeoJSON إلى الخريطة.
يمكنك أيضًا إضافة ميزات فردية من خلال استدعاء addFeature()،
وتمرير كائن GeoJsonFeature.
باستخدام هذه الأداة المساعدة، يمكنك تحويل عناصر KML إلى أشكال جغرافية وعرضها كطبقة فوق الخريطة. يمكنك استدعاء addLayerToMap() لإضافة الطبقة إلى
الخريطة. يمكنك الوصول إلى السمات في عنصر KML من خلال استدعاء
getProperties() على أيّ علامة موضع أو تراكب أرضي أو مستند أو
مجلد.
تساعد خرائط التمثيل اللوني المشاهدين على فهم توزيع نقاط البيانات ومستوى جهدها النسبي على الخريطة. بدلاً من وضع علامة في كل موقع جغرافي، تستخدم الخرائط الحرارية اللون والشكل لتمثيل توزيع البيانات. أنشئ HeatmapTileProvider، ومرِّر إليه مجموعة من عناصر LatLng التي تمثّل نقاط الاهتمام على الخريطة. بعد ذلك، أنشئ TileOverlay جديدًا، ومرِّر إليه موفِّر مربّعات الخريطة الحرارية، وأضِف تراكب المربّعات إلى الخريطة.
أضِف IconGenerator لعرض مقتطفات من المعلومات
على علاماتك. توفّر هذه الأداة طريقة لجعل رموز العلامات
تبدو مثل نوافذ المعلومات، حيث يمكن أن تحتوي العلامة نفسها على نص
ومحتوى آخر. وتتمثل الميزة في إمكانية إبقاء أكثر من علامة واحدة مفتوحة في الوقت نفسه، في حين لا يمكن فتح سوى نافذة معلومات واحدة في كل مرة.
يمكنك أيضًا تصميم العلامات وتغيير اتجاه العلامة و/أو المحتوى وتغيير صورة الخلفية/صورة Nine-patch للعلامة.
تحريك العلامات
يمكنك تحريك علامة لتنتقل بسلاسة من موضعها الحالي إلى موقع جغرافي جديد. وتوفّر الفئة AnimationUtil هذه الإمكانية. للاطّلاع على مثال على كيفية استخدامها، يمكنك مراجعة
AnimationUtilDemoActivity
في مستودع GitHub الخاص بمكتبة الأدوات المساعدة.
إدارة مجموعات محدّدات المواقع
تساعدك ClusterManager في إدارة علامات متعددة بمستويات تكبير مختلفة. وهذا يعني أنّه يمكنك وضع عدد كبير من العلامات على
خريطة بدون جعل الخريطة صعبة القراءة. عندما يعرض المستخدم الخريطة بمستوى تكبير عالٍ، تظهر العلامات الفردية على الخريطة. وعندما يصغّر المستخدم الخريطة إلى مستوى تكبير أقل، تتجمع العلامات معًا في مجموعات لتسهيل عرض الخريطة.
يمكنك عرض ميزات من GeoJSON وKML والمجموعات، بالإضافة إلى العلامات والخطوط المتعدّدة والمضلّعات الخاصة بك، كل ذلك على الخريطة نفسها. يمكنك أيضًا
جعل هذه الطبقات تفاعلية من خلال إضافة متتبِّع النقرات إلى كل طبقة.
لإجراء ذلك، عليك إنشاء مثيل للفئات MarkerManager وGroundOverlayManager وPolygonManager وPolylineManager وتمريرها إلى الدوال الإنشائية لكل من GeoJsonLayer وKmlLayer وClusterManager عند إعدادها. يمكنك بعد ذلك استخدام فئات Manager هذه مباشرةً لإضافة علاماتك وخطوطك المتعدّدة ومضلّعاتك إلى الخريطة.
لمعرفة التفاصيل، يُرجى الاطّلاع على المستندات حول الإصدار التجريبي من ميزة "الطبقات المتعددة" في "خرائط Google" لأجهزة Android.
ترميز الخطوط المتعدّدة وفك ترميزها
تحوّل الفئة PolyUtil الخطوط المتعدّدة والمضلّعات المرمّزة إلى إحداثيات خطوط العرض/الطول، وتحوّل الإحداثيات إلى خطوط متعدّدة ومضلّعات مرمّزة.
في "خرائط Google"، يتم تخزين إحداثيات خطوط العرض والطول التي تحدّد
خطوطًا متعدّدة أو مضلّعًا كسلسلة مرمّزة. يمكنك الاطّلاع على الشرح المفصّل حول ترميز الخطوط المتعدّدة. قد تتلقّى هذه السلسلة المرمّزة في ردّ من
واجهة برمجة تطبيقات Google، مثل Directions API (القديمة).
يمكنك استخدام PolyUtil في مكتبة برامج الخدمات الخاصة بحزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android لترميز سلسلة من إحداثيات خطوط العرض/الطول (LatLngs) إلى سلسلة مسار مرمّزة، وفك ترميز سلسلة مسار مرمّزة إلى سلسلة من LatLngs. سيضمن ذلك إمكانية التشغيل التفاعلي مع خدمات الويب في Google Maps API.
حساب المسافات والمساحات والعناوين باستخدام الهندسة الكروية
باستخدام أدوات الهندسة الكروية في SphericalUtil، يمكنك احتساب المسافات والمساحات والاتجاهات استنادًا إلى خطوط العرض والطول. في ما يلي بعض الطرق المتاحة في الأداة المساعدة:
computeDistanceBetween(): تعرض المسافة بين إحداثيات خطوط العرض/الطول بالمتر.
computeHeading(): تعرض هذه الدالة الاتجاه بالدرجات بين إحداثيات خطوط العرض/الطول.
computeArea(): تعرض المساحة بالمتر المربع لمسار مغلق على الأرض.
interpolate(): تعرض إحداثيات خط العرض/خط الطول لنقطة تقع على جزء معيّن من المسافة بين نقطتين محدّدتين. ويمكنك استخدام هذه الميزة لتحريك علامة بين
نقطتين، على سبيل المثال.
يمكنك الرجوع إلى المستندات المرجعية للاطّلاع على قائمة كاملة بالطرق المتاحة في الأداة المساعدة.
التحقّق مما إذا كان الموقع الجغرافي متوافقًا مع ميزة "التجوّل الافتراضي"
توفّر الفئة StreetViewUtil وظيفة للتحقّق مما إذا كان الموقع الجغرافي متاحًا في ميزة "التجوّل الافتراضي". يمكنك تجنُّب الأخطاء عند إضافة بانوراما في "التجوّل الافتراضي" إلى تطبيق Android من خلال استدعاء أداة البيانات الوصفية هذه وإضافة بانوراما في "التجوّل الافتراضي" فقط إذا كانت الاستجابة OK.
تاريخ التعديل الأخير: 2026-11-04 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2026-11-04 (حسب التوقيت العالمي المتفَّق عليه)"],[],["The Maps SDK for Android Utility Library offers tools for enhancing map functionality. Key actions include importing GeoJSON and KML data, adding heatmaps, managing marker clusters, and customizing markers with bubble icons. It supports adding multiple layers, and it also allows users to encode/decode polylines and utilize spherical geometry for distance, area, and heading calculations. Additionally, users can check if a location is supported in street view. All utilities are open-source, and can be viewed with the provided demo app.\n"]]