خرائط ذات نمط

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

أمثلة

يعرض المثال التالي خريطة لمدينة بروكلين في الولايات المتحدة مع أنماط لتلوين الطرق المحلية باللون الأخضر الساطع والمناطق السكنية باللون الأسود. ويعكس أيضًا درجة سطوع التصنيفات، ما يجعلها تظهر بشكلٍ أفضل على خلفية داكنة. يُرجى العِلم أنّ هذا المثال العملي يستخدم ترميز عنوان URL:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15&center=Brooklyn&style=feature:road.local%7Celement:geometry%7Ccolor:0x00ff00&style=feature:landscape%7Celement:geometry.fill%7Ccolor:0x000000&style=element:labels%7Cinvert_lightness:true&style=feature:road.arterial%7Celement:labels%7Cinvert_lightness:false&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
خريطة مصممة لمدينة بروكلين

يستخدم المثال التالي عمليات تنسيق وتبسيط بهدف تقريب مظهر أطلس الطرق في الولايات المتحدة:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=12&center=Chicago&format=png&style=feature:road.highway%7Celement:geometry%7Cvisibility:simplified%7Ccolor:0xc280e9&style=feature:transit.line%7Cvisibility:simplified%7Ccolor:0xbababa&style=feature:road.highway%7Celement:labels.text.stroke%7Cvisibility:on%7Ccolor:0xb06eba&style=feature:road.highway%7Celement:labels.text.fill%7Cvisibility:on%7Ccolor:0xffffff&key=YOUR_API_KEY&signature=DITIGAL_SIGNATURE
نمط خريطة أطلس الطرق في الولايات المتحدة

بنية النمط

لإنشاء خريطة مخصّصة بأسلوب معيّن، أدرِج مَعلمة style واحدة أو أكثر في عنوان URL للطلب.

قد يحتوي كل تعريف style على الوسائط التالية، مفصولة بأحرف علامة الشرطة المائلة ("|"):

  • feature (اختياري) يشير إلى الميزات التي يجب اختيارها لهذا التعديل على التصميم. تشمل العناصر الأشياء الظاهرة على الخريطة، مثل الطرق أو المنتزهات أو نقاط الاهتمام الأخرى. في حال عدم توفُّر وسيطة feature، سيتم تطبيق النمط المحدَّد على جميع الميزات.
  • تشير السمة element (اختيارية) إلى عناصر الميزة المحدّدة لاختيارها لتعديل النمط هذا. العناصر هي سمات ميزة معيّنة، مثل الهندسة أو التصنيفات. إذا لم تكن هناك وسيطة element، ينطبق النمط على جميع عناصر العنصر المحدّد.
  • مجموعة من قواعد الأنماط (إلزامية) لتطبيقها على المَعلمات والعناصر المحدّدة تطبِّق واجهة برمجة التطبيقات القواعد بالترتيب الذي تظهر به في بيان style. يمكنك تضمين أي عدد من القواعد، ضمن القيود العادية لطول عنوان URL في Maps Static API.
style=feature:myFeatureArgument|element:myElementArgument|myRule1:myRule1Argument|myRule2:myRule2Argument

الميزات

يحدّد بيان style التالي ألوان جميع الطرق على الخريطة:

style=feature:road|color:0xffffff

في ما يلي بعض اختيارات الميزات الشائعة:

  • يختار feature:all (تلقائي) جميع ميزات الخريطة.
  • يؤدي النقر على feature:road إلى اختيار جميع الطرق على الخريطة.
  • يختار feature:road.local جميع الطرق المحلية.

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

تشكل الميزات شجرة فئات، مع 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" المسطحات المائية.

العناصر

يُلوّن إعلان style التالي تصنيفات جميع الطرق المحلية:

style=feature:road.local|element:labels|color:0xffffff

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

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

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

قواعد الأنماط

قواعد الأنماط هي خيارات تنسيق تُطبَّق على الميزات والعناصر المحدّدة في كلّ بيان style.

يطبّق تعريف style التالي قاعدتَي نمط على الطرق على الخريطة. تطبِّق القاعدة الأولى لونًا على الطرق. تعمل القاعدة الثانية على تبسيط عرض الطرق، بحيث تكون خطوطها أرقّ بدون حدود:

style=feature:road|color:0xffffff|visibility:simplified

يجب أن يحتوي كل تعريف style على عملية واحدة أو أكثر مفصولة باستخدام رمز الشرطة الرأسية ("|"). وتحدِّد كل عملية قيمة الوسيطة الخاصة بها باستخدام علامة النقطتين (":")، وتسري جميع العمليات على التحديد بالترتيب الذي حدّدته بها.

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

  • يشير 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، حيث لا يُطبّق 1.0 أي تصحيح) يشير إلى مقدار تصحيح جاما المطلوب تطبيقه على العنصر. تعمل تصحيحات جاما على تعديل سطوع الألوان بطريقة غير خطية، مع عدم التأثير في قيم الأبيض أو الأسود. يُستخدَم تصحيح جاما عادةً لتعديل التباين في عناصر متعددة. على سبيل المثال، يمكنك تعديل مقياس جاما لزيادة التباين بين الحواف والعناصر الداخلية أو خفضه.

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

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

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

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

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

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

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

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

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

طراز تدرج اللون والتشبّع والسطوع

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

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

عجلة ألوان RGB

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

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