مرجع النمط لواجهة برمجة التطبيقات الثابتة للخرائط

باستخدام خيارات الأنماط، يمكنك تخصيص عرض أنماط خرائط 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 (اختيارية) - وهي سمة العنصر المحدد الذي يجب اختياره. العناصر هي أجزاء فرعية من الميزة، بما في ذلك التصنيفات والأشكال الهندسية. في حال عدم تحديد عنصر، يتم اختيار جميع عناصر العنصر.
  • أدوات التنسيق: القواعد التي سيتم تطبيقها على الميزات والعناصر التي تم اختيارها تشير أدوات التصفيف إلى لون الميزة ومستوى رؤيةها ووزنها. يمكنك تطبيق أداة تنسيق واحدة أو أكثر على عنصر.

لتحديد نمط، يجب دمج مجموعة من عنصرَي الاختيار 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"
}

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

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

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

stylers

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

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

"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 (سلسلة سداسية عشرية باللون الأحمر والأخضر والأزرق بتنسيق #RRGGBB) لون الميزة.
  • weight (قيمة عددية أكبر من أو تساوي الصفر) تُستخدَم لتحديد أهمية العنصر، بالبكسل. قد يؤدي ضبط الوزن على قيمة عالية إلى اقتصاص المحتوى بالقرب من حدود المربّعات.

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

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

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

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

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

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

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

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

عجلة ألوان تستند إلى نموذج أحمر أخضر أزرق

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

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