مرجع نمطي لحزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android

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

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

أمثلة

يؤدي إعلان النمط المستند إلى JSON التالي إلى تحويل جميع ميزات الخريطة إلى اللون الرمادي، ثم تلوين شكل الطريق الرئيسي باللون الأزرق، وإخفاء تصنيفات المناظر الطبيعية بالكامل:

[
  {
    "featureType": "all",
    "stylers": [
      { "color": "#C0C0C0" }
    ]
  },{
    "featureType": "road.arterial",
    "elementType": "geometry",
    "stylers": [
      { "color": "#CCFFFF" }
    ]
  },{
    "featureType": "landscape",
    "elementType": "labels",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

كائن JSON

يتألف إعلان النمط المستند إلى JSON من العناصر التالية:

  • featureType (اختياري): الميزات التي يجب اختيارها لتعديل هذا النمط. الميزات هي الخصائص الجغرافية على الـ خريطة، بما في ذلك الطرق والمتنزّهات والمسطحات المائية وغير ذلك. إذا لم تحدّد ميزة، يتم اختيار جميع الميزات.
  • elementType (اختياري): السمة التي يجب اختيارها للميزة المحدّدة. العناصر هي أجزاء فرعية من ميزة، بما في ذلك التصنيفات والأشكال الهندسية. إذا لم تحدّد عنصرًا، يتم اختيار جميع عناصر الميزة.
  • stylers: القواعد التي يجب تطبيقها على الميزات والعناصر المحدّدة. تشير أدوات التنسيق إلى لون الميزة ومدى ظهورها ووزنها. يمكنك تطبيق نمط واحد أو أكثر على ميزة.

لتحديد نمط، عليك الجمع بين مجموعة من featureType و elementType محدّدات وstylers في مصفوفة أنماط. يمكنك استهداف أي مجموعة من الميزات في مصفوفة واحدة. ومع ذلك، فإنّ عدد الأنماط التي يمكنك تطبيقها في وقت واحد محدود. إذا تجاوزت مصفوفة الأنماط الحدّ الأقصى لعدد الأحرف، لن يتم تطبيق أي نمط.

يحتوي باقي هذه الصفحة على مزيد من المعلومات حول الميزات والعناصر والأنماط.

featureType

يختار مقتطف JSON التالي جميع الطرق على الخريطة:

{
  "featureType": "road"
}

الميزات أو أنواع الميزات هي الخصائص الجغرافية على الخريطة، بما في ذلك الطرق والمتنزّهات والمسطحات المائية والأنشطة التجارية وغير ذلك.

تشكّل الميزات شجرة فئات، حيث تكون all هي الجذر. إذا لم تحدّد ميزة، يتم اختيار جميع الميزات. ويكون تحديد ميزة all له التأثير نفسه.

تحتوي بعض الميزات على ميزات فرعية تحدّدها باستخدام رمز النقطة. على سبيل المثال، landscape.natural أو road.local. إذا حدّدت ميزة الوالد فقط، مثل road، يتم تطبيق الأنماط التي تحدّدها للوالد على جميع العناصر التابعة له، مثل road.local و road.highway.

يُرجى العِلم أنّ ميزات الوالد قد تتضمّن بعض العناصر غير المضمّنة في جميع ميزاتها الفرعية.

تتوفّر الميزات التالية:

  • all (تلقائي) يختار جميع الميزات.
  • administrative يختار جميع المناطق الإدارية. لا تؤثر الأنماط إلا في تصنيفات المناطق الإدارية، وليس في الحدود الجغرافية أو التعبئة.
    • administrative.country يختار البلدان.
    • administrative.land_parcel يختار قطع الأراضي.
    • administrative.locality يختار المناطق المحلية.
    • administrative.neighborhood يختار الأحياء.
    • administrative.province يختار المقاطعات.
  • landscape يختار جميع المناظر الطبيعية.
    • landscape.man_made يختار الميزات من صنع الإنسان، مثل المباني والمنشآت الأخرى.
    • landscape.natural يختار الميزات الطبيعية، مثل الجبال والأنهار والصحاري والأنهار الجليدية.
    • landscape.natural.landcover يختار ميزات الغطاء الأرضي، وهي المواد المادية التي تغطي سطح الأرض، مثل الغابات والمراعي والأراضي الرطبة والأراضي الجرداء.
    • landscape.natural.terrain يختار ميزات التضاريس لسطح الأرض، مثل الارتفاع والانحدار والاتجاه.
  • poi يختار جميع نقاط الاهتمام.
    • poi.attraction يختار مناطق الجذب السياحي.
    • poi.business يختار الأنشطة التجارية.
    • poi.government يختار المباني الحكومية.
    • poi.medical يختار خدمات الطوارئ، بما في ذلك المستشفيات والصيدليات والشرطة والأطباء وغيرهم.
    • poi.park يختار المتنزّهات.
    • poi.place_of_worship يختار أماكن العبادة، بما في ذلك الكنائس والمعابد والمساجد وغيرها.
    • poi.school يختار المدارس.
    • poi.sports_complex يختار المجمّعات الرياضية.
  • road يختار جميع الطرق.
    • road.arterial يختار الطرق الرئيسية.
    • road.highway يختار الطرق السريعة.
    • road.highway.controlled_access يختار الطرق السريعة التي يمكن الوصول إليها من نقاط محدّدة.
    • road.local يختار الطرق المحلية.
  • transit يختار جميع محطات وخطوط النقل العام.
    • transit.line يختار خطوط النقل العام.
    • transit.station يختار جميع محطات النقل العام.
    • transit.station.airport يختار المطارات.
    • transit.station.bus يختار محطات الحافلات.
    • transit.station.rail يختار محطات القطارات.
  • water يختار المسطحات المائية.

elementType

يختار مقتطف JSON التالي تصنيفات جميع الطرق المحلية:

{
  "featureType": "road.local",
  "elementType": "labels"
}

العناصر هي تقسيمات فرعية لميزة. على سبيل المثال، يتألف الطريق من الخط المرئي (الشكل الهندسي) على الخريطة، بالإضافة إلى النص الذي يشير إلى اسمه (تصنيف).

تتوفّر العناصر التالية، ولكن يُرجى العِلم أنّ ميزة معيّنة قد لا تتوافق مع أي من العناصر أو بعضها أو جميعها:

يتغيّر لونَا fill وstroke لنص التصنيف استنادًا إلى مستوى التكبير/التصغير. للحصول على تجربة متسقة على جميع مستويات التكبير/التصغير، عليك دائمًا تحديد كل من fill وstroke.

  • all (تلقائي) يختار جميع عناصر الميزة المحدّدة.
  • geometry يختار جميع العناصر الهندسية للميزة المحدّدة.
    • geometry.fill يختار تعبئة الشكل الهندسي للميزة فقط.
    • geometry.stroke يختار خط الشكل الهندسي للميزة فقط.
  • labels يختار التصنيفات النصية المرتبطة بالميزة المحدّدة.
    • labels.icon يختار الرمز المعروض في تصنيف الميزة فقط.
    • labels.text يختار نص التصنيف فقط.
    • labels.text.fill يختار تعبئة التصنيف فقط. عادةً ما يتم عرض تعبئة التصنيف على شكل خط ملوّن يحيط بنص التصنيف.
    • labels.text.stroke يختار خط نص التصنيف فقط.

stylers

الأنماط هي خيارات التنسيق التي يمكنك تطبيقها على ميزات الخريطة وعناصرها.

يعرض مقتطف JSON التالي ميزة باللون الأخضر الفاتح، باستخدام قيمة RGB:

"stylers": [
  { "color": "#99FF33" }
]

يزيل هذا المقتطف كل كثافة اللون من ميزة، بغض النظر عن لونها الأولي. ويؤدي ذلك إلى عرض الميزة بتدرّجات الرمادي:

"stylers": [
  { "saturation": -100 }
]

يخفي هذا المقتطف ميزة بالكامل:

    "stylers": [
      { "visibility": "off" }
    ]

تتوفّر خيارات الأنماط التالية:

  • hue (سلسلة سداسية عشرية بتنسيق #RRGGBB) تشير إلى اللون الأساسي.

    ملاحظة: يضبط هذا الخيار درجة اللون مع الحفاظ على التشبع والإضاءة المحدّدين في نمط Google التلقائي (أو في خيارات الأنماط الأخرى التي تحدّدها على الخريطة). ويستند اللون الناتج إلى نمط الخريطة الأساسية. إذا أجرت Google أي تغييرات على نمط الخريطة الأساسية، ستؤثر التغييرات في ميزات الخريطة التي تم تنسيقها باستخدام hue. من الأفضل استخدام نمط color المطلق إذا أمكنك ذلك.

  • lightness (قيمة نقطة عائمة بين -100 و100) تشير إلى النسبة المئوية للتغيير في سطوع الـ عنصر. تزيد القيم السالبة من القتامة (حيث يشير -100 إلى اللون الأسود) بينما تزيد القيم الموجبة من السطوع (حيث يشير +100 إلى اللون الأبيض).

    ملاحظة: يضبط هذا الخيار الإضاءة مع الحفاظ على تشبع اللون ودرجة اللون المحدّدين في نمط Google التلقائي (أو في خيارات الأنماط الأخرى التي تحدّدها على الخريطة). ويستند اللون الناتج إلى نمط الخريطة الأساسية. إذا أجرت Google أي تغييرات على نمط الخريطة الأساسية، ستؤثر التغييرات في ميزات الخريطة التي تم تنسيقها باستخدام lightness. من الأفضل استخدام نمط color المطلق إذا أمكنك ذلك.

  • saturation (قيمة نقطة عائمة بين -100 و100) تشير إلى النسبة المئوية للتغيير في كثافة اللون الأساسي الذي يجب تطبيقه على العنصر.

    ملاحظة: يضبط هذا الخيار تشبع اللون مع الحفاظ على درجة اللون والإضاءة المحدّدين في نمط Google التلقائي (أو في خيارات الأنماط الأخرى التي تحدّدها على الخريطة). ويستند اللون الناتج إلى نمط الخريطة الأساسية. إذا أجرت Google أي تغييرات على نمط الخريطة الأساسية، ستؤثر التغييرات في ميزات الخريطة التي تم تنسيقها باستخدام saturation. من الأفضل استخدام نمط color المطلق إذا أمكنك ذلك.

  • gamma (قيمة نقطة عائمة بين 0.01 و 10.0، حيث لا يتم تطبيق أي تصحيح إذا كانت القيمة 1.0) تشير إلى مقدار تصحيح جاما الذي يجب تطبيقه على العنصر. تعدّل تصحيحات جاما إضاءة الألوان بطريقة غير خطية، مع عدم التأثير في القيم البيضاء أو السوداء. يُستخدم تصحيح جاما عادةً لتعديل الـ تباين عناصر متعدّدة. على سبيل المثال، يمكنك تعديل جاما لـ زيادة التباين بين حواف العناصر وداخلها أو تقليله.

    ملاحظة: يضبط هذا الخيار الإضاءة بالنسبة إلى نمط Google التلقائي ، باستخدام منحنى جاما. إذا أجرت Google أي تغييرات على نمط الخريطة الأساسية ستؤثر التغييرات في ميزات الخريطة التي تم تنسيقها باستخدام gamma. من الأفضل استخدام نمط color المطلق إذا أمكنك ذلك.

  • invert_lightness (إذا كانت القيمة true) تعكس الإضاءة الحالية. يكون هذا الخيار مفيدًا، على سبيل المثال، للتبديل بسرعة إلى خريطة أغمق تحتوي على نص أبيض.

    ملاحظة: يعكس هذا الخيار نمط Google التلقائي ببساطة. إذا أجرت Google أي تغييرات على نمط الخريطة الأساسية، ستؤثر التغييرات في ميزات الخريطة التي تم تنسيقها باستخدام invert_lightness. من الأفضل استخدام نمط color المطلق إذا أمكنك ذلك.

  • visibility (on، off، أو simplified) تشير إلى ما إذا كان العنصر يظهر على الخريطة وكيفية ظهوره. تؤدي حالة الظهور simplified إلى إزالة بعض ميزات النمط من الميزات المتأثرة. على سبيل المثال، يتم تبسيط الطرق إلى خطوط أرق بدون خطوط خارجية، بينما تفقد المتنزّهات نص التصنيف ولكن تحتفظ بالرمز التصنيفي.
  • color (سلسلة سداسية عشرية بتنسيق RGB #RRGGBB) يضبط لون الميزة.
  • weight (قيمة عدد صحيح أكبر من صفر أو تساويه) يضبط وزن الميزة بالبكسل. قد يؤدي ضبط الوزن على قيمة عالية إلى الاقتصاص بالقرب من حدود المربّعات.

يتم تطبيق قواعد الأنماط بالترتيب الذي تحدّده. لا تجمع بين عمليات متعدّدة في عملية نمط واحدة. بدلاً من ذلك، حدّد كل عملية كإدخال منفصل في مصفوفة الأنماط.

ملاحظة: الترتيب مهم، لأنّ بعض العمليات ليست تبادلية. إنّ الميزات و/أو العناصر التي يتم تعديلها من خلال عمليات الأنماط (عادةً) تتضمّن أنماطًا حالية. وتؤثر العمليات في هذه الأنماط الحالية، إذا كانت متوفّرة.

نموذج درجة اللون والتشبع والإضاءة

تستخدم الخرائط ذات التصميم الخاص نموذج درجة اللون والتشبع والإضاءة (HSL) للإشارة إلى اللون ضمن عمليات أداة التنسيق. درجة اللون تشير إلى اللون الأساسي، والتشبع يشير إلى كثافة هذا اللون، والإضاءة تشير إلى الكمية النسبية من الأبيض أو الأسود في اللون المكوِّن.

يعدّل تصحيح جاما الإضاءة على مساحة الألوان، وعادةً ما يكون ذلك لزيادة التباين أو تقليله. بالإضافة إلى ذلك، يحدّد نموذج HSL اللون ضمن مساحة إحداثيات تشير فيها hue إلى الاتجاه ضمن عجلة الألوان، بينما تشير التشبع والإضاءة إلى السَعتَين على طول محاور مختلفة. يتم قياس درجات الألوان ضمن مساحة ألوان RGB، وهي مشابهة لمعظم مساحات ألوان RGB، باستثناء عدم توفّر تدرّجات اللونين الأبيض و الأسود.

نموذج درجة اللون والتشبّع والسطوع

بينما تأخذ hue قيمة لون ست عشري بتنسيق HTML، فإنّها تستخدم هذه القيمة فقط لتحديد اللون الأساسي، أي اتجاهه حول عجلة الألوان، وليس تشبع اللون أو الإضاءة، اللذين يتم الإشارة إليهما بشكل منفصل كتغييرات مئوية.

على سبيل المثال، يمكنك تحديد درجة اللون للأخضر النقي على النحو التالي: hue:0x00ff00 أو hue:0x000100. كلتا درجتَي اللون متطابقتان. تشير كلتا القيمتَين إلى اللون الأخضر النقي في نموذج ألوان HSL.

عجلة ألوان RGB

لا تشير قيم hue بتنسيق RGB التي تتألف من أجزاء متساوية من الأحمر والأخضر والأزرق لا تشير إلى درجة لون، لأنّ أيًا من هذه القيم لا يشير إلى اتجاه في مساحة إحداثيات HSL. تشمل الأمثلة "#000000" (أسود) و"#FFFFFF" (أبيض) و جميع تدرّجات الرمادي النقية. للإشارة إلى الأسود أو الأبيض أو الرمادي، عليك إزالة كل saturation (ضبط القيمة على -100) و تعديل lightness بدلاً من ذلك.

بالإضافة إلى ذلك، عند تعديل الميزات الحالية التي تتضمّن نظام ألوان ، لا يؤدي تغيير قيمة مثل hue إلى تغيير saturation أو lightness الحاليَين.