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

اختيار النظام الأساسي: 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 (سلسلة سداسية عشرية بتنسيق RGB #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، حيث لا يتم تطبيق أي تصحيح إذا كانت الق3/}): تشير إلى مقدار تصحيح غاما الذي يجب تطبيقه على العنصر.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 الحاليَين.